SendKeys関数について

解決


マグ  2006-01-28 00:50:08  No: 129898

SendKeys関数ってショートカットキーを送ることが出来ないのでしょうか?

コピペをショートカットキーとして送るため、
Public Const swWindowTitle = "SolidWorks"

Sub main()
    On Error GoTo kaihi
    AppActivate swWindowTitle
    SendKeys ("^c^v")
kaihi:
    MsgBox ("コピペに失敗しました。")
End Sub

のように記述したのですが、エラー回避用のソースのほうに飛んでいってしまいました。
ショートカットキーで送るようなことが可能でしょうか?

環境はSolidWorksのマクロです。


T★M  2006-01-28 01:53:12  No: 129899

環境が不明確ですが、1点だけ。

本当にエラー回避用のソースに「飛んでいった」のでしょうか。
SendKeys処理後、そのままMsgBoxを表示しているのではないですか。


LESIA  2006-01-28 03:18:38  No: 129900

エラーじゃない場合は、SendKeysの後で処理を抜けないと
MsgBoxが表示されますよ。

Sub main()
    On Error GoTo kaihi
    AppActivate swWindowTitle
    SendKeys ("^c^v")
    Exit Sub

kaihi:
    MsgBox ("コピペに失敗しました。")
End Sub


マグ  2006-01-28 03:42:08  No: 129901

>T★Mさん

環境は下の行に記載しました。
SolidWorksという高価な3Dソフトのマクロ(VBA)です。
このぐらいならどのVBのバージョンでもさほど変わらないだろうと思いまして、一番下に記載しました。
分かりづらかったのでしたら、すみませんでした。

>LESIAさん

そうでした。
サブルーチンを抜けるコードを記述するのを忘れていました。
最近、VB.NETでエラー処理といったらTry構文を使っていたので、この手の処理方法が頭から抜けていました。(ー▽ー;)・・・・・・・
VB6をやるの初めて記述したので、エラー回避のGoto文の勉強になりました。
ありがとうございました。
今は環境がないので、後で行うことにします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加