スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

キーボードのショートカットを LotusScript で実行する

2012年09月05日 09:19

現在のビュー上のすべての文書を選択する [Ctrl + A] のようなキーボードのショートカットを LotusScript で実行することは可能でしょうか?

これは、Windows の user32.dll を使用すれば、LotusScript から実行することが可能です。

user32.dll を呼び出した上で、Keybd_event サブルーチン内で以下を定義します。

- 最初のパラメータで送信するキーを定義する
- 3 番目のパラメータでアクションを定義する(0=keyDown、2=keyUp)
- 2 番目と 4 番目のパラメータは使用しないので、0 を入力する

下記のサンプルは、[Ctrl + A] の実行で、ビュー上ですべての文書を選択するのを LotusScript から実行します。[Ctrl + A] キーを押すには、以下の 4 つのキーボードイベントを実行する必要があります。

- [Ctrl] キーを押す
- [A] キーを押す
- [A] キーを放す
- [Ctrl] キーを放す

キーの定義は、[Ctrl] が 17 で、[A] が 65 です。
------------------
(Declarations)
Declare Sub keybd_event Lib "user32.dll" (Byval bVk As Integer, Byval bScan As Integer, Byval dwFlags As Integer, Byval dwExtraInfo As Integer)

Sub Click(Source As Button)
 keybd_event 17,0,0,0 ' Ctrl key down
 keybd_event 65,0,0,0 ' A down
 keybd_event 65,0,2,0 ' A up
 keybd_event 17,0,2,0 ' Ctrl key up
End Sub
------------------

キーの定義は以下のようになります。

Tab: 9
Enter: 13
Shift: 16
Ctrl: 17
Alt: 18
←: 37
↑: 38
→: 39
↓: 40
A ~ Z: 65 ~ 90


コメント

  1. Tsuguo | URL | -

    Re: キーボードのショートカットを LotusScript で実行する

    win2000からは、keybd_eventはSendInput 関数の利用のほうがよいみたいです。

    keybd_event
    http://msdn.microsoft.com/ja-jp/library/cc364822.aspx

    ご参考まで。

  2. 中島 基晶 | URL | -

    Re: Re: キーボードのショートカットを LotusScript で実行する

    コメントありがとうございます。
    確認してみます。

コメントの投稿

(コメント編集・削除に必要)
(管理者にだけ表示を許可する)

トラックバック

この記事のトラックバックURL
http://hnagasim.blog8.fc2.com/tb.php/444-e808a1e6
この記事へのトラックバック


最新記事


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。