VBから他の起動しているEXEに文字を流し込むプログラムを考えています。
エディタなどでチェックしているときはうまく動くのですが、EXCELではうまく稼動しません。
今の方法は
1.ActiveWindow取得
2.流し込み文字列編集
3.1で取得したWindowをactiveにする
4.sendkeysで流し込み
問題があれば、指摘していただけるようにお願いします。
うまくいかないコードの提示が無いと、どこが悪いか指摘のしようが無いのですが。
Wordなんかだと、SendKeysはうまくいかないのですが、Excelは一応出来るような。
いちばん簡単なコードで書いてみると
Private Declare Function SetForegroundWindow Lib "user32" _
(ByVal hwnd As Long) As Long
Private Sub Command1_Click()
Dim id As Long
id = Shell("C:\Program Files\Microsoft Office\Office\excel.exe", vbNormalFocus)
SetForegroundWindow id
Clipboard.Clear
Clipboard.SetText "我龍院忠太"
DoEvents
SendKeys "%EP", True
End Sub
ツイート | ![]() |