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

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[367] 文字列検索

川上龍也 [2016/08/01 13:39:19]

列先頭から文字「ビ」含むセルで検索止めるマクロ
「ビル」では、止めない。
「ビジネス」も追加したいのですが、どのように書きますか?
ご教授いただけましたら幸いです。
検索対象/非対象(複数)の組み合わせも増やしたいのですが、マクロ理解が捗っていません。

/*
* zKey1 : 検索対象文字
*
*/
zKey1 = "ビ";

/*
* nKey1 : 検索対象外文字列
*
*/
nKey1 = "ビル";


hKey = "*";
B = Bottom;


for(; y <= B; y++){
if(pos([2, y], hKey) == 0) {

if ((pos([x, y], zKey1) != 0 && pos([x, y], nKey1) == 0)) {

moveto(x, y);
y = B + 2;
}
}
}


if (y == B + 1) {
moveto(x, B);
}


Re: [367] 文字列検索

あすかぜ [2016/08/02 00:51:51]

Cassava マクロではリストや配列を扱えないので、検索対象/非対称の文字列ごとに pos(...) を書き足していくことになってしまうと思います。
該当箇所を別関数に切り出すことで、若干見やすく書けると思います。

http://www.asukaze.net/soft/cassava/macro/asukaze/bbs367_20160802.cms

上のマクロは「ビル」と「ビジネス」を検索対象外としています。
検索対象/非対称の文字列ごとに「|| pos(str, "文字列") != 0」を書き足してください(一番最後のみ「;」で終わります)。

よろしくお願いします。

スレッド一覧に戻る返信