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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォームに日付を表示させる方法を教えてください。そして、実行したあとでも日付が変わるようなプ 4 2023/02/23 12:18
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Visual Basic(VBA) 複数指定セルの可視セルのみを別シートに転記するVBAについて 2 2022/05/27 21:19
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/17 15:40
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 13:13
- Excel(エクセル) VBAでユークリッド距離を用いて1番近い物を表示 表 裏 縦 横 高さ 縦 横 高さ 名前 1 45 9 2022/10/23 16:52
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
excel vbaから実行するexe実行の黒い画面の非表示
Visual Basic(VBA)
-
VBAで外部プログラムを非表示で実行するには
Visual Basic(VBA)
-
コマンドプロンプト実行後に画面を閉じない方法
Visual Basic(VBA)
-
-
4
WSH.Run の処理内容をテキストに落とすには
その他(プログラミング・Web制作)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
VBA プロシージャの名前の取得
その他(Microsoft Office)
-
7
VBS実行時にコマンドプロンプトが表示される
その他(プログラミング・Web制作)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
プロシージャ名の取得
Visual Basic(VBA)
-
10
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
11
VBプログラムから「管理者として実行」したい
Visual Basic(VBA)
-
12
ExcelVBAにてアプリをタスクマネージャーから強制終了させたいのですが
Visual Basic(VBA)
-
13
VBScriptでコマンドプロンプトウィンドウを開いたままにしたいです
その他(プログラミング・Web制作)
-
14
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
15
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
16
WshShellから起動したbat(ftp)の応答メッセージを取得するには
Visual Basic(VBA)
-
17
ExcelVBAでDOSコマンドの標準出力をリアルタイムでフォームへ出力するには
Visual Basic(VBA)
-
18
コマンドプロンプトを最小化してバッチを実行したい
その他(プログラミング・Web制作)
-
19
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
20
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
AIに回答させるって
-
KEYENCEのシーケンスプログラム...
-
cout と cerrの違い
-
プログラムについての質問です...
-
printfとputcharの違いは
-
VBAのExecメソッドで画面を非表...
-
ListViewの複数選択について
-
バッチファイル フォルダサイ...
-
printfの書式%.*s
-
C# 標準出力のencodingをutf8に...
-
Windows Formアプリからコンソ...
-
ブランキング期間
-
AviUtl 出力の失敗
-
汎用人型決戦兵器「人造人間エ...
-
ACCESS クエリ→フォーム...
-
標準出力の上書き
-
C言語の標準関数の引数の順番に...
-
CRC16計算について
-
最近の画像生成AIについて。 長...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
コンセントの電力は入力と出力...
-
MMDでavi出力が出来ない
-
OBS配信すると、マイクが途切れ...
-
VBAでテキスト出力時のスペース...
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
ACCESS クエリ→フォーム...
-
アクセスでエクセルに出力する...
-
VBAのExecメソッドで画面を非表...
-
テキストファイルから特定の文...
-
Windows11対応の3入力1出力 USB...
-
VBAで有効数字の設定
-
スマホのバッテリー消費につい...
-
Excel VBAで値を変えながら、pd...
-
NTTのホームゲートウェイとOCN...
-
定格冷房能力(出力)とは 定格...
-
プログラムについての質問です...
-
PS5をMacBookProに出力したいの...
おすすめ情報
すいません、出力がおかしい理由がわかりました。
パス名にスペースが含まれる場合に""で囲んでなかったため
以前の内容が残っていたためです。
一応、所望することはできるようになったのですが
あと、
("\", "htmlfile")のところを設定の仕方を教えていただけますでしょうか?
それと標準出力ではなく、
標準入力、や、標準エラー出力、の出力の仕方も教えていただけますでしょうか?
よろしくお願いいたします。