
VBAのExecメソッドでコマンドプロンプトの画面を非表示にして
実行する方法を教えてください、
検索してみると
http://seesaawiki.jp/w/bokkuri_orz/d/VBA%20-%20% …
このページには
Runのように、外部プログラム呼び出し時にそのウィンドウを非表示にする制御は出来ないようです。
と書かれてあります。
http://scripting.cocolog-nifty.com/blog/2007/05/ …
http://scripting.cocolog-nifty.com/blog/2008/08/ …
このページにはやり方が書かれてあるのですが
VBAについてやり方のみでVBAではどのようにして使えば良いか分かりません。
http://blog.onpu-tamago.net/entry/20101020/12875 …
このページにはVBAでもできるというような記載がなされています。
どなたか実行方法を教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>("\", "htmlfile")のところを設定の仕方を教えていただけますでしょうか?
これはVBSでクリップボードのデータを何とか簡単に取得できないかと
Googleりまくっただけです (^_^;)
http://scripting.cocolog-nifty.com/blog/2010/04/ …
>標準入力、や、標準エラー出力、の出力の仕方も教えていただけますでしょうか?
これもごめんなさい。そこまでスキル/経験が。。。
先達のご登場に期待しましょう。
No.2
- 回答日時:
あっゴメンなさい。
>Application.VBE.Windows("イミディエイト").Visible = True
の行は不要ですので削除してかまいません。
イミディエイトウィンドウを表示させるためのモノなのですが
Excelのオプションから『セキュリティセンターの設定』
マクロの設定→VBA プロジェクト オブジェクトモデルへのアクセスを信頼する
にチェックを入れていないとエラーになってしまいます。
規定値ではチェックは入っていません。
つい、うっかり。。。
標準出力の結果は取得できてますね。こっちの方は問題なさそうです。
ありがとうございます。
sCmdに自分の実行したいコードを入れてみたのですが
うまくいきません。
oshietegooとは関係のないffprobeを使ったコード
sCmd = ffprobe_path & " -i " & file_path2 & " -show_format | grep duration"
を入れているのに
なぜか出力される変数は以下のものになってしまいます。
: sStr : "
oshiete.goo.ne.jp [153.254.147.236]に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
153.254.147.236 の ping 統計:
パケット数: 送信 = 1、受信 = 0、損失 =
sStr = GetObject("\", "htmlfile").ParentWindow.ClipboardData.GetData("text")
のところで、("\", "htmlfile")とか書かれていますが、
この辺りはどのように設定すれば良いのでしょうか?
No.1
- 回答日時:
exec メソッドを使用する目的が標準出力の取得なら
Sub てすと()
Dim oWS As Object, sCmd As String, sStr As String
Set oWS = CreateObject("Wscript.Shell")
sCmd = "ping oshiete.goo.ne.jp -n 1"
oWS.Run "%ComSpec% /c " & sCmd & "|clip", 0, True
sStr = GetObject("\", "htmlfile").ParentWindow.ClipboardData.GetData("text")
Application.VBE.Windows("イミディエイト").Visible = True
Debug.Print sStr
Set oWS = Nothing
End Sub
では?
clip はWindows Vista 以降で使用可。
リンク先のに手を加えようかとも思いましたが面倒だったのでゴメン。
ありがとうございます。
試してみましたが、
Application.VBE.Windows("イミディエイト").Visible = True
のところでエラーが発生します。
実行時エラー 1004
VBEメソッドは失敗しました、Applicationオブジェクト
というエラーメッセージが表示されます。
実行時エラー 1004
プログラミングによるVisual Basicプロジェクトへのアクセスは信頼性に欠けます
というのが出る場合もあります。
sStr変数には
oshiete.goo.ne.jp [153.254.147.236]に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
153.254.147.236 の ping 統計:
パケット数: 送信 = 1、受信 = 0、損失 = 1 (100% の損失)、
という文字列が入っています。
環境はwin7 64bit、Excel2010です。
何が問題でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
excel vbaから実行するexe実行の黒い画面の非表示
Visual Basic(VBA)
-
VBAで外部プログラムを非表示で実行するには
Visual Basic(VBA)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
コマンドプロンプト実行後に画面を閉じない方法
Visual Basic(VBA)
-
5
WSH.Run の処理内容をテキストに落とすには
その他(プログラミング・Web制作)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
コマンドプロンプトを最小化してバッチを実行したい
その他(プログラミング・Web制作)
-
8
ExcelVBAでDOSコマンドの標準出力をリアルタイムでフォームへ出力するには
Visual Basic(VBA)
-
9
VBAでパワーシェルを実行したいのですが、なかなかうまく出来ず、有識者の知識をお借りさせてください。
その他(プログラミング・Web制作)
-
10
vba クリップボードクリアについて教えてください
その他(プログラミング・Web制作)
-
11
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
12
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
13
EXCEL VBA リストボックスの列を指定してForeColorを変更する方法について
Excel(エクセル)
-
14
[teraterm] waitコマンドで停止しない。
その他(プログラミング・Web制作)
-
15
ExcelVBAにてアプリをタスクマネージャーから強制終了させたいのですが
Visual Basic(VBA)
-
16
VBAで二重起動を防止したいのですが、
その他(Microsoft Office)
-
17
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
18
バッチファイル 特定ウインドウの最小化
AJAX
-
19
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
20
Excel VBA コマンドライン(MS-DOS)でウィンドウを閉じずに最終行(文字)まで取得する
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
vba textboxへの入力について教...
-
複数のExcelファイルをマージす...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
改行文字「vbCrLf」とは
-
Vba Array関数について教えてく...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】開いているブックの...
-
【VBA】値を変更しながら連続で...
-
VBAの「To」という語句について
-
算術演算子「¥」の意味について
-
以下のプログラムの実行結果は...
-
VB.net 文字列から日付型へ変更...
-
[Excel VBA]特定の条件で文字を...
-
VBA ユーザーフォーム ボタンク...
-
ワードの図形にマクロを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
複数のExcelファイルをマージす...
-
【ExcelVBA】5万行以上のデー...
-
vbsでのwebフォームへの入力制限?
-
vba textboxへの入力について教...
-
Vba セルの4辺について罫線が有...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba Array関数について教えてく...
-
【ExcelVBA】値を変更しながら...
-
【マクロ】開いているブックの...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
VBA 入力箇所指定方法
-
[VB.net] ボタン(Flat)のEnable...
-
VBAでセルの書式を変えずに文字...
-
vb.net(vs2022)のtextboxのデザ...
-
Excelのマクロについて教えてく...
-
改行文字「vbCrLf」とは
おすすめ情報
すいません、出力がおかしい理由がわかりました。
パス名にスペースが含まれる場合に""で囲んでなかったため
以前の内容が残っていたためです。
一応、所望することはできるようになったのですが
あと、
("\", "htmlfile")のところを設定の仕方を教えていただけますでしょうか?
それと標準出力ではなく、
標準入力、や、標準エラー出力、の出力の仕方も教えていただけますでしょうか?
よろしくお願いいたします。