
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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAで外部プログラムを非表示で実行するには
Visual Basic(VBA)
-
excel vbaから実行するexe実行の黒い画面の非表示
Visual Basic(VBA)
-
コマンドプロンプト実行後に画面を閉じない方法
Visual Basic(VBA)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
WSH.Run の処理内容をテキストに落とすには
その他(プログラミング・Web制作)
-
6
EXCELをバッチコマンドで起動したとき、引数を渡せますか
その他(プログラミング・Web制作)
-
7
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
8
エクセルVBAのフォームを最前面にする方法を教えてください。
Visual Basic(VBA)
-
9
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
10
コマンドプロンプトを最小化してバッチを実行したい
その他(プログラミング・Web制作)
-
11
VBSで応答不要のメッセージボックスを表示したい
その他(パソコン・スマホ・電化製品)
-
12
VBScriptでコマンドプロンプトウィンドウを開いたままにしたいです
その他(プログラミング・Web制作)
-
13
エクセルで別ブックをバックグラウンドでオープンする方法
Excel(エクセル)
-
14
ExcelVBAにてアプリをタスクマネージャーから強制終了させたいのですが
Visual Basic(VBA)
-
15
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
16
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
17
WSH レジストリのキーが存在するかチェックしたい
Windows Me・NT・2000
-
18
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
19
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
20
【VBScript】変数のスコープ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
COBOLのMOVEで桁数が異なる場合
-
5
VBAでテキスト出力時のスペース...
-
6
VBAで有効数字の設定
-
7
MMDでavi出力が出来ない
-
8
COBOLで可変長ファイルの出力に...
-
9
無線とかアンテナに関しの質問...
-
10
ListViewの複数選択について
-
11
cout と cerrの違い
-
12
printfとputcharの違いは
-
13
フォートランで出力をタブ区切...
-
14
エンジンの出力問題
-
15
アクセスでエクセルに出力する...
-
16
SQL HDR=YES;IMEX=1
-
17
【VBA】PDFを2in1で出力したいです
-
18
プログラムについての質問です...
-
19
発電機の出力について
-
20
Accessのテーブルからcsv出力す...
おすすめ情報
公式facebook
公式twitter
すいません、出力がおかしい理由がわかりました。
パス名にスペースが含まれる場合に""で囲んでなかったため
以前の内容が残っていたためです。
一応、所望することはできるようになったのですが
あと、
("\", "htmlfile")のところを設定の仕方を教えていただけますでしょうか?
それと標準出力ではなく、
標準入力、や、標準エラー出力、の出力の仕方も教えていただけますでしょうか?
よろしくお願いいたします。