- ベストアンサー
VBAで外部プログラム操作
AccessVBAからTelnet操作を行いたく 苦肉の策で下記のような処理を組み込みました。 Private Sub Command1_Click() Shell "cmd.exe" stopTime 50 Call EnumWindows(AddressOf Rekkyo, 0) lRet = FindWindow(vbNullString, "C:\WINDOWS\system32\cmd.exe") Call SendMessage(lRet, WM_SYSCOMMAND, WM_MAXIMIZE, ByVal 0&) Call PostMessageStrings("telnet hoge.hoge") Call PostMessageStrings("username") Call PostMessageStrings("passwd") Call PostMessageStrings("テルネット上の処理") Call PostMessageStrings("quit") Call PostMessageStrings("exit") end sub Public Function PostMessageStrings(strPost As String) Dim i As Integer '1文字ずつ分解して送信 For i = 1 To Len(strPost) Call PostMessage(lRet, &H102, Asc(Mid(strPost, i, 1)), 0) Next '送信後に改行コードを送信 Call PostMessage(lRet, &H102, 13, 0) End Function shell で起動したコマンドプロンプトのウィンドウが 最小化された状態で以降の処理が進められてしまいます。 何かいい案は無いでしょうか? もしくは、もっと効率よくtelnet操作できる方法は無いでしょうか? 以上よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Shell "cmd.exe",vbHide ではだめ?
その他の回答 (1)
- kiyama_t
- ベストアンサー率25% (19/74)
うろ覚えですみません。 telnetって、WIN32APIが使えませんでしたっけ? 私自身は使ったことがないので、正しくは分かりませんが。
お礼
ありがとうございます。その辺を調べてみます。
お礼
なるほど。APIで表示させることばかりにとらわれてしまっていました。。。。 ありがとうございました♪