• ベストアンサー

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操作できる方法は無いでしょうか? 以上よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Shell "cmd.exe",vbHide ではだめ?

noppi_99
質問者

お礼

なるほど。APIで表示させることばかりにとらわれてしまっていました。。。。 ありがとうございました♪

その他の回答 (1)

  • kiyama_t
  • ベストアンサー率25% (19/74)
回答No.1

うろ覚えですみません。 telnetって、WIN32APIが使えませんでしたっけ? 私自身は使ったことがないので、正しくは分かりませんが。

noppi_99
質問者

お礼

ありがとうございます。その辺を調べてみます。

関連するQ&A