[844] あるいは
ケンケン [2024/06/07 14:52:05]
x = 24;
for (y = 2; y <= Bottom; y++) {
if ( [x,y] == "" && pos([19,y], "北海道") > 0) {
[x,y] = asatte;
}
}
以下のように条件を変更したいです。
pos([19,y]は北海道、鹿児島、宮崎 いずれか 含む場合
[x,y] = asatte;
よろしくお願いします
Re: [844] あるいは
あすかぜ [2024/06/07 21:27:39]
「あるいは」は「||」という記号を使って表します。
if ([x,y] == "" && (pos([19,y], "北海道") > 0 || pos([19,y], "鹿児島") > 0 || pos([19,y], "宮崎") > 0)) {
[x,y] = asatte;
}
また、ご質問のように「いずれかを含む場合」という条件であれば、正規表現を使って次のように書くこともできます。
if ([x,y] == "" && [19,y].search("北海道|鹿児島|宮崎") >= 0) {
[x,y] = asatte;
}
試してみてください。
Re: [844] あるいは
ケンケン [2024/06/08 15:39:36]
x = 24;
for (y = 2; y <= Bottom; y++) {
if ([x,y] == "" && [19,y].search("北海道|鹿児島県|熊本県|宮崎県") >= 0) {
[x,y] = 2;
}
熊本県 伊勢崎市 西久保町二丁目xxxx-x 080-xxxx-xxxx 宅配便(RSL) 2
宮崎県 横浜市鶴見区 獅子ケ谷x-xx-x-x 090-xxxx-xxxx 宅配便(RSL)
鹿児島県 桜井市 阿部xxx 080-xxxx-xxxx 宅配便(RSL)
北海道 下呂市 萩原町四美xxx 0576-xx-xxxx 宅配便(RSL)
熊本県の行だけ変更しました。最後の時にcsv中断しましたのメッセージが出ました。
よろしくお願いします。
Re: [844] あるいは
あすかぜ [2024/06/08 20:16:36]
私の環境ではそのマクロで特に問題なく動作するようです。
念のため、動作確認した cms ファイルをアップロードしておきます。
https://www.asukaze.net/soft/cassava/macro/asukaze/bbs844_20240608.cms
貼り付けていただいたマクロには for 文を閉じる「}」がないようですが、
for 文の中で「y = 2;」など y の値を戻してしまう処理が入っていないかご確認をお願いします。
よろしくお願いします。