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も見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
excel vbaから実行するexe実行の黒い画面の非表示
Visual Basic(VBA)
-
VBAのExecメソッドで画面を非表示にして実行する方法
Visual Basic(VBA)
-
コマンドプロンプト実行後に画面を閉じない方法
Visual Basic(VBA)
-
-
4
split関数で区切り文字がない場合
Visual Basic(VBA)
-
5
Excel VBA コマンドライン(MS-DOS)でウィンドウを閉じずに最終行(文字)まで取得する
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
バッチファイルでキー操作を行う。
-
ExcelVBAでDOSコマンドの標準出...
-
ttlで戻り値を取得する方法
-
PowerShell実行結果をデスクト...
-
VBユーザーフォームで時間入力
-
TEXの表の位置が・・・
-
エクセル コマンドボタンでリセ...
-
Tera Term Proに関する質問です。
-
コマンドプロンプトについて
-
jupyter notebookが開けません!
-
別のユーザーフォームのコマン...
-
シェルスクリプト
-
EEPROMのデータの初期化について
-
makeコマンドのエラー
-
コマンドキーがないんですけど...
-
[WSH|JS|VB] telnetコマンドの...
-
Excel VBA コマンドライン(MS-...
-
VB6で、コマンドボタン自身の色...
-
tcl/tkで標準出力に出される値...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでキー操作を行う。
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
ttlで戻り値を取得する方法
-
VBユーザーフォームで時間入力
-
Tera Term Proに関する質問です。
-
別のユーザーフォームのコマン...
-
TEXの表の位置が・・・
-
RTX1100の削除コマンド
-
コンボボックス(最終行取得)
-
コマンドキーがないんですけど...
-
コマンドプロンプトですべてのU...
-
ルーターにつながっている全て...
-
文字の点滅はどうやるのですか?
-
EEPROMのデータの初期化について
-
シリアル通信でコマンドを送信...
-
jupyter notebookが開けません!
-
makeコマンドのエラー
-
アンドロイドでも、robocopyは...
-
HEXから元に戻すには
おすすめ情報