Excel2010、SendKeysが不安定な時の対処方法
Excel2010は、手頃な価格で高機能な表計算ソフトです。
マクロを使用すると、色々な作業を自動化する事ができて、大変便利です。
しかし、マクロでSendKeysを使用すると不安定な場合が有ります。使用したパソコンは、下記のソフトを
使用していました。
OS : Windows10(64bit)ビルド 10586.104
表計算ソフト : Excel2010(32bit)
以下、Excel2010、SendKeysが不安定な時の対処方法を記載して行きます。
(項目1)
・マクロでSendKeysを使用すると不安定な場合が有ります。
・IEを起動して検索ボックスに「excelshogikan.com SendKeys」を入力するマクロを実行した所、下記の
様に「e」が余分に入力されました。
・マクロの記載は、以下の通りです。
SendKeys "excelshogikan.com SendKeys",
True
(項目2)
・インターネットで「SendKeys+不安定」をキーワードにして検索した所、下記のURLが見つかり
ました。
VBAで、なぜかSendkeyが効きません。 - オフィス系ソフト 解決済 | 教えて!goo
・上記の情報によると、「
Wscript.Shellを使用すると良い」との事でした。
(項目3)
・下記の様にマクロを記載した所、SendKeysが安定しました。
With CreateObject("Wscript.Shell")
.
SendKeys "excelshogikan.com Wscript.Shell",
True
End With
(項目4)
・ソースコードは、以下の通りです。
Sub test1()
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "http://www.yahoo.co.jp/"
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
objIE.document.getElementsByName("p")(0).Focus
SendKeys "excelshogikan.com SendKeys", True
End Sub
Sub test2()
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.navigate "http://www.yahoo.co.jp/"
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
objIE.document.getElementsByName("p")(0).Focus
With CreateObject("Wscript.Shell")
.SendKeys "excelshogikan.com Wscript.Shell", True
End With
End Sub
(項目5)
・以上で、Excel2010、SendKeysが不安定な時の対処方法は終了です。