[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[867] 複数の文字列を繰り返して挿入

ありがとうございます [2024/10/30 07:18:28]

いつもお世話になっております。
とても便利に使わせていただいております。


下記のような処理が行われるマクロを作っていただくことは可能でしょうかm(_ _)m?

--------------------

選択した列範囲に対して
ダイアログボックスに入力した複数文字列を
繰り返し挿入

--------------------

【マクロ実行例】

①A列の5行目から15行目までを選択

②マクロ実行時のダイアログボックスに、繰り返したい文字列を複数入力
(改行区切りだとありがたいですm(_ _)m)
AAAAA
BBBBB
CCCCC

③マクロ実行後

      |  A列  |
―――――――――
1行目|
2行目|
3行目|
4行目|
5行目|AAAAA
6行目|BBBBB
7行目|CCCCC
8行目|AAAAA
9行目|BBBBB
10行目|CCCCC
11行目|AAAAA
12行目|BBBBB
13行目|CCCCC
14行目|AAAAA
15行目|BBBBB
16行目|
17行目|
18行目|


--------------------

このように、あらかじめ設定した複数の文字列を、繰り返して挿入したいです。
このようなことは可能でしょうか?

よろしくお願いいたしますm(_ _)m

Re: [867] 複数の文字列を繰り返して挿入

あすかぜ [2024/10/30 22:33:12]

Cassava Editor の貼り付けオプションの中に「くり返し処理をして貼り付け」というものがあるので、マクロを書かなくても実現できるかもしれません。

AAA
BBB
CCC

を改行を含めてコピーし、Cassava Editor に Ctrl+V で貼り付け、
表示される貼り付けオプションダイアログで「選択領域にくり返し処理をして貼り付け」を選択して「OK」をクリックすれば
「AAA」「BBB」「CCC」を選択範囲内に繰り返し挿入できそうです。

マクロを使う場合は次のようなマクロを試してみてください。


import { arrayInputBox } from "lib/Array.cms";

array = arrayInputBox("繰り返したい文字列を改行区切りで入力してください。");

i = 0;
for (y = SelTop; y <= SelBottom; y++) {
  [x,y] = array[i % array.length];
  i++;
}


よろしくお願いします。

Re: [867] 複数の文字列を繰り返して挿入

ありがとうございます [2024/10/31 02:29:01]

ご対応いただきましてどうもありがとうございます!

・標準機能で貼り付け
・マクロで貼り付け

どちらの方法も望んだとおりの結果が得られました!
マクロも作っていただいて感謝します。
ありがたく使わせていただきますm(_ _)m

スレッド一覧に戻る返信