MS Access Tips/Sample and VBA and Blog customize etc...

VBAでNumLockをオンにする関数

[BUG] 複数の SendKeys ステートメントが実行されると NumLock キーがオフになる
SendKeys には上記のバグがあるそうです。

いままでこのような現象に遭遇したことはなかったが、一連のバッチ処理をVBAで記述して、「タスクスケジューラ」から呼び出すようにしたらたらバッチ処理が終了したあと NumLock がオフになるようになった。

確かに、他アプリを操作するためにSendKeysは使っているのだか、不思議なことに「タスクスケジューラ」からでなく、普通に実行するとそのうような現象は起こらない。

原因がよく分からないので、とりあえず CapsLock をVBAでオンにする関数を作成して回避することにした。

VBAでCapsLockをオンにする関数

難易度:

NumLockOn関数

上記、参照先の関連情報に下記のリンクがある。

NUMLOCK、CAPSLOCK、SCROLLLOCK キーを切り替えるには

API を使ってNum Lockを設定する方法が紹介されている。

これを参考に、Num Lock をオンにする関数を作成しました。対象OSは Windows NT または Windows 2000 以降です。

使用例

拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/400-e7b96581
該当の記事は見つかりませんでした。