
No.4ベストアンサー
- 回答日時:
回答番号:No.1の続きになりますが(こんなレスの付け方でいいのか?)
1. 標準入力から読み込んだ文字列を指定WindowへSendMessageで送信するプロセスを作成。
2. VBAのユーザフォームをサブクラス化してハンドラ作成。(受信文字列をテキストボックスへ追加)
3. VBAから実行するコマンド文字列を、送信プロセスにリダイレクトするように作成して実行。
で、できるような気がしますが、どこがわかりませんか?
回答3にもあるように、
>VBAでやる範疇ではないでしょう。
が全てのような。
No.3
- 回答日時:
VBAでやる範疇ではないでしょう。
良くわかった人が、APIなど使えば出来るのかもしれないが、そんな回答を丸写ししてでも、課題を達成したいですか。
APIの関連するレベルの質問は本質問コーナーの範囲を超えているーー
方法論に注文(Dosコマンド利用)つけず、全般的にやりたいことを質問に表現して見ては。
あるいは、ひょっとしてVBScriptなどでやれる場合かも知れない。
ーー
質問者の場合と言うのではないが、十分な技量がないのに、「他ソフトとの連携」などの質問が結構有るが、概して難しいものだと思う。
本やWEBで情報も少なく、自分が長期に渉って情報を漁り、背景・基礎知識も含めて、勉強する類のものと思う。
No.2
- 回答日時:
WSHを使っていいならば
Dim oWShell as Object, oWExec as Object
dim ss as String
Set oWShell = CreateObject("WScript.Shell")
Set oWExec = oWShell.Exec( "実行するコマンド" )
do
ss = oWExec.StdOut.ReadLine()
TextBox1.Text = TextBox1.Text & ss & vbCrLf
Loop while oWExec.StdOut.AtEndOfStream <> True
set oWExec = Nothing
Set oWShell = Nothing
といった具合で出来そうです
ただし oWShell.Execで起動したDOS窓側の出力はされませんが ・・・
DOS窓側へも出力したいとなると パイプ処理などが必要になりそうです
No.1
- 回答日時:
CreatePipe, CreateProcessのWin32APIを使って、cmdの標準出力のパイプをReadするようにすれば取得できると思いますが、リアルタイムを非同期で動かすにはVBAではちょっと・・・
標準入力を指定WindowsへSend/Postするプロセスを別に作って、cmdの標準出力のパイプをそのプロセスの入力に繋いで起動するのがいいような気がす。
回答ありがとうございます。
しかし内容がちょっと高度すぎますね。
もう少し噛み砕いて(具体的に)説明いただけるとうれしいのですが。。。
お手数ですがご教授願えませんか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- UNIX・Linux Ubuntu22.04、nanoエディタの使い方について 2 2022/10/24 19:50
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- その他(OS) DOSコマンド『dir』の『/o』オプション 3 2023/03/10 09:29
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- Excel(エクセル) Powershell エクセル検索 完全一致の方法 1 2022/06/05 20:19
- UNIX・Linux JSLinuxのコマンドについて。 abの小文字aを大文字Aに置換して標準出力するコマンドを1行で示 1 2022/07/25 18:34
- その他(プログラミング・Web制作) DOSコマンドに詳しい方、お知恵をお貸しください 5 2022/11/04 20:55
このQ&Aを見た人はこんなQ&Aも見ています
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
人生で一番思い出に残ってる靴
皆さんの人生で一番思い入れのある靴の話を伺ってみたいです。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
カラオケの鉄板ソング
歌えばその場が絶対盛り上がる「鉄板ソング」を教えてください!
-
VBAのExecメソッドで画面を非表示にして実行する方法
Visual Basic(VBA)
-
excel vbaから実行するexe実行の黒い画面の非表示
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
VBユーザーフォームで時間入力
-
バッチファイルでキー操作を行う。
-
コンボボックス(最終行取得)
-
【Teratermマクロ】文字列の一...
-
Tera Term Proに関する質問です。
-
ルーターにつながっている全て...
-
別のユーザーフォームのコマン...
-
EEPROMのデータの初期化について
-
DOSコマンドでポートから受信
-
デフォルトのショートカットキ...
-
Teraterm macro
-
ExcelVBAでDOSコマンドの標準出...
-
CreateProcessでの実行ファイル...
-
MS-DOSのカーソルキーの設定に...
-
ciscoルータおよびスイッチのテ...
-
PowerShell実行結果をデスクト...
-
"伴われる"は正しい日本語ですか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
バッチファイルでキー操作を行う。
-
別のユーザーフォームのコマン...
-
Tera Term Proに関する質問です。
-
VBユーザーフォームで時間入力
-
コンボボックス(最終行取得)
-
PowerShell実行結果をデスクト...
-
ルーターにつながっている全て...
-
dosバッチ起動後、画面を閉じな...
-
コマンドキーがないんですけど...
-
【Teratermマクロ】文字列の一...
-
system関数でのシェル起動について
-
excel-vbaで作成したマクロを別...
-
アンドロイドでも、robocopyは...
-
テキストボックスが未入力のと...
-
コマンドプロンプトですべてのU...
-
VBA でshell関数を使ってコマン...
-
ディスクの空き容量を取得する...
おすすめ情報