SendKeys関数ってショートカットキーを送ることが出来ないのでしょうか?
コピペをショートカットキーとして送るため、
Public Const swWindowTitle = "SolidWorks"
Sub main()
On Error GoTo kaihi
AppActivate swWindowTitle
SendKeys ("^c^v")
kaihi:
MsgBox ("コピペに失敗しました。")
End Sub
のように記述したのですが、エラー回避用のソースのほうに飛んでいってしまいました。
ショートカットキーで送るようなことが可能でしょうか?
環境はSolidWorksのマクロです。
環境が不明確ですが、1点だけ。
本当にエラー回避用のソースに「飛んでいった」のでしょうか。
SendKeys処理後、そのままMsgBoxを表示しているのではないですか。
エラーじゃない場合は、SendKeysの後で処理を抜けないと
MsgBoxが表示されますよ。
Sub main()
On Error GoTo kaihi
AppActivate swWindowTitle
SendKeys ("^c^v")
Exit Sub
kaihi:
MsgBox ("コピペに失敗しました。")
End Sub
>T★Mさん
環境は下の行に記載しました。
SolidWorksという高価な3Dソフトのマクロ(VBA)です。
このぐらいならどのVBのバージョンでもさほど変わらないだろうと思いまして、一番下に記載しました。
分かりづらかったのでしたら、すみませんでした。
>LESIAさん
そうでした。
サブルーチンを抜けるコードを記述するのを忘れていました。
最近、VB.NETでエラー処理といったらTry構文を使っていたので、この手の処理方法が頭から抜けていました。(ー▽ー;)・・・・・・・
VB6をやるの初めて記述したので、エラー回避のGoto文の勉強になりました。
ありがとうございました。
今は環境がないので、後で行うことにします。
ツイート | ![]() |