keybd_eventやSendKeysを使用したMACROを実行後に、KEYBOARDを受け付けなくなり、動作がおかしくなります。
「Alt」KEYを押すと正常に戻ります。
MACROの最後で、keybd_eventやSendKeysにて「Alt」を送っても復活しません。
MACROの記述で復活する方法について、ご教示をお願いします。
EXECLは2013です。
VBA
コード
Sub CubePDFPage()
Dim rc As Long
Dim TXT_PATH As String '開くフォルダ名
Dim Filename As String
' MASTERのセル「F6」の値を取得
TXT_PATH = Worksheets("MASTER").Range("F6").Value
TXT_PATH = Worksheets(1).Range("F6").Value
'TXT_PATH = "\・・・・"
Shell "C:\Windows\Explorer.exe " & TXT_PATH, vbNormalFocus 'フォルダを開く"
Application.Wait Now + TimeSerial(0, 0, 2)
SendKeys "^a"
SendKeys "%ec"
Application.Wait Now + TimeSerial(0, 0, 2)
Application.Wait Now + TimeSerial(0, 0, 2)
Call FileOpen_Shell(TXT_PATH) 'フォルダを開く"
Application.Wait Now + TimeSerial(0, 0, 30)
SendKeys "^M"
Application.Wait Now + TimeSerial(0, 0, 5)
'MASTERのセル「F28」の値を取得
Filename = Worksheets("MASTER").Range("F28").Value
Filename = Worksheets(1).Range("F28").Value
Filename = Filename + "\しおりなし"
SendKeys Filename
Application.Wait Now + TimeSerial(0, 0, 2)
'Call keybd_event(&H5B, 0, 0, 0) 'Windowsキーを押す
Call keybd_event(18, 0, 0, 0) 'Altキーを押す
Call keybd_event(83, 0, 0, 0) 'sキーを押す
Application.Wait Now + TimeSerial(0, 0, 2)
Call keybd_event(18, 0, 0, 0) 'Altキーを押す
Call keybd_event(89, 0, 0, 0) 'Yキーを押す
Application.Wait Now + TimeSerial(0, 0, 20)
Call keybd_event(89, 0, 0, 0) 'Yキーを押す
Application.Wait Now + TimeSerial(0, 0, 4)
Call keybd_event(18, 0, 0, 0) 'Altキーを押す
Call keybd_event(115, 0, 0, 0) 'F4キーを押す
Application.Wait Now + TimeSerial(0, 0, 2)
For i = 0 To 10
Application.Wait Now + TimeSerial(0, 0, 0.1)
Call keybd_event(18, 0, 0, 0) 'Altキーを押す
Application.Wait Now + TimeSerial(0, 0, 0.1)
SendKeys "%" 'Altキーを押す
Next i
End Sub
Sub FileOpen_Shell(ByVal strFile As String)
Dim strExe As String
strExe = "C:\Program Files\CubePDF Page\CubePdfPage.exe"
Shell strExe & " " & strFile, vbNormalFocus
End Sub
Public Sub Sample2()
keybd_event VK_LWIN, 0, 0, 0
keybd_event vbKeyM, 0, 0, 0
keybd_event VK_LWIN, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyM, 0, KEYEVENTF_KEYUP, 0
End Sub