A→B→Aの呼び出し時に初回と2回目以降で処理を変える

      2016/05/15

他のマクロを呼び出す 時、A.uws → B.uws → A.uws と交互に起動したい場合があります。

A.uwsの処理が重なって無駄になったり、2回処理するとまずい場合など、2回目以降の起動で処理を変えることが出来ます。

初回と2回目以降で処理を変える

A.uws

ifb Param_Str[0] = "" then //引数付きで起動されてない場合は初回起動とする
A.uwsで初回起動時にやりたい処理
else
A.uwsで2回目以降にやりたい処理
endif

B.uws

B.uwsでやりたい処理
call A.uws("call") //引数は何でも良い

ifb ~ endif に関しては 条件分岐するif(ifb)文の使い方とサンプルコード をご覧下さい。

Param_Str[0] が空かどうかだけ見るシンプルなものですが、十分実用レベルです。

A.uws で初回か2回目以降のどちらかにやりたい処理がない場合は exit とすることで2回目以降 ifb ~ endif 内の処理を全部飛ばすことになります。

「もっと詳しく!」「こうできないの?」この記事に関連する質問や要望があればコメントかメールで聞いてね!

 - TIPS , , , , , , , , , , , , ,