|
UWSCで秀丸マクロを実行後、クリップボードに張り付けるものを作成したい考えています。
hide_id = GETID("秀丸") SCKEY(hide_id, VK_CTRL, VK_A) SCKEY(hide_id, VK_CTRL, VK_V) SCKEY(hide_id, VK_ALT, VK_M ,VK_X)
id1 = GETID("マクロ実行", "#32770", -1) SCKEY(id1, VK_TAB) SCKEY(id1, VK_RETURN) SLEEP(10) SCKEY(hide_id, VK_CTRL, VK_A) SCKEY(hide_id, VK_CTRL, VK_C)
上記で動く事は動くのですが、SLEEP(10)とは限りません。 そこでふと思ったのですが、秀丸マクロで「マクロ完了」とメッセージが出る条件で 全選択⇒コピー といった事は可能でしょうか
|
No.2952 2016/09/27(Tue) 23:16:40
|
☆ Re: メッセージボックスが表示されるまで待つ / 俄プログラマー |
|
No.2955 2016/09/28(Wed) 00:39:33
|
|
☆ Re: メッセージボックスが表示されるまで待つ / テス |
|
|
ご返信ありがとうございます。
Repeat Until 文でループさせる場合、どのような条件式になるでしょうか
|
No.2956 2016/09/28(Wed) 02:34:33
|
|
☆ Re: メッセージボックスが表示されるまで待つ / satocha |
|
|
秀丸エディタを持っていない(有料ですからね)のですが、思いつく方法を書いてみます >秀丸マクロで「マクロ完了」とメッセージが出る というのがどういう状況を言っているのかわからないので、場合分けして答えます 場合1=マクロ終了後に「"マクロ実行"」ダイアログが閉じる場合 while status(id1,st_isid) sleep(0.1) wend 場合2=別のマクロ終了ポップアップが出てくる場合 この新ダイアログがgetid("マクロ終了")で補足できるとして repeat end_id=getid("マクロ終了") //ここでポップアップを閉じる処理(ありそうなのがclkitem(end_id,"OK",clk_btn))が必要かも until status(end_id,st_isid) 場合3=マクロ実行ダイヤログが残ったままで終了ポップアップも出ず、エディタのメッセージエリアに「マクロ終了」という文字列が出力される場合。エディタ本体でなくマクロ実行ダイヤログにメッセージが出るなら下のhide_idをid1におきかえてください repeat allstr="" for str in getitem(hide_id,itm_acctxt,-1) allstr=allstr+str next for str in getitem(hide_id,itm_statusbar,-1) allstr=allstr+str next until pos( "マクロ終了", allstr )
ただ、これUWSCを使わず全部秀丸のマクロでできたりしないのでしょいうか
|
No.2957 2016/09/28(Wed) 05:08:37
|
|
☆ Re: メッセージボックスが表示されるまで待つ / 俄プログラマー |
|
|
>Repeat Until 文でループさせる場合、どのような条件式になるでしょうか
「秀丸マクロで「マクロ完了」とメッセージが出る条件で」 とご自身で書かれている筈ですが? Repeat Until 文、GETID 文 ヘルプで使い方の例があります。参考にして練習してみてください。
PS スレの乱立、お名前の変更は避けましょう。 答える側の事も考えて下さいね。
|
No.2963 2016/09/28(Wed) 12:20:51
|
|
☆ Re: メッセージボックスが表示されるまで待つ / テス |
|
|
ご返信ありがとうございます。
>ただ、これUWSCを使わず全部秀丸のマクロでできたりしないのでしょいうか 確かにその通りでした。 秀丸マクロでクリップボードにコピーすれば済む話でした。
repeat〜untilの文例ありがとうございます。 マクロ終了のメッセージが出た場合の条件式を自力で作成する事が出来ず、 質問を重ねてしまい申し訳ありません。 大変勉強になりました。
|
No.2966 2016/09/28(Wed) 15:23:00
|
|