VBAでコマンドラインを使って表示された文字の取得を行いたいのですが
Set wExec = WSH.Exec("%ComSpec% /c " & """" & sCmd & """")
Do While wExec.Status = 0
DoEvents
Loop
Result = wExec.StdOut.ReadAll
というコードを使って取得を行うことはできるのですが
一瞬だけコマンドプロンプトの画面が表示されるのですが
これが表示されずに文字の取得を行うにはどうしたら良いですか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あとは一時ファイルに書き出して・・・
Sub sCmdget2()
Dim oWS As Object, oFS As Object, v As Variant
Dim sCmd As String, sStr As String
Set oWS = CreateObject("Wscript.Shell")
Set oFS = CreateObject("Scripting.FileSystemObject")
sCmd = "dir " & """C:\Program Files (x86)\""" & " /s"
oWS.Run "%ComSpec% /c " & sCmd & "> %temp%\Temp.txt", 0, True
Set v = oFS.openTextFile(Environ("temp") & "\" & "Temp.txt", 1)
sStr = v.readAll
v.Close: Set v = Nothing
Application.VBE.Windows("イミディエイト").Visible = True
Debug.Print sStr
Set oFS = Nothing
Set oWS = Nothing
Shell "explorer.exe /select, " & Environ("temp") & "\" & "Temp.txt" '出血大サービス?、タスクバー注目
End Sub
ですかね?
No.1
- 回答日時:
これならコマンドプロンプトのウィンドウは寡黙になります。
Sub sCmdget()
Dim oWS As Object, sCmd As String, sStr As String
Set oWS = CreateObject("Wscript.Shell")
sCmd = "dir " & """C:\Program Files (x86)\""" & " /s"
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" はWindowsXPなどでは使用できません。
Explorer で Clip.exe を検索しても無かったら諦めてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでTIFF画像を読み込むには?
-
EXCEL VBAで、EXCELの入力規則...
-
Spreadでの複数行選択
-
ActiveWorkbook.Pathの一つ下の...
-
vbaで、オートシェイプ文字列、...
-
ActiveReportのDataSourceについて
-
jspでbeanを使いたいのです...
-
ボタンが活性化の場合とは、ボ...
-
漏電遮断器の黄色ボタンと白色...
-
リクエストに応じたselectedの...
-
VB.NET DataReaderが開かれている
-
フォームで同じ複数のnameで違...
-
jspでjavascript関数へ引数を渡...
-
C# ログイン画面からメイン画面...
-
VB6 開発環境のエディタに行...
-
グローバルIPアドレスの変更タ...
-
三菱GOTの画面切り替えについて
-
腕時計の時報をならないように...
-
int型の内容をbyteの配列にコピー
-
Java-jspの画面入力値保持について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActiveWorkbook.Pathの一つ下の...
-
ActiveReportのDataSourceについて
-
登録済みイベントリスナーの情...
-
Formatでmmが月と分を意味する理由
-
VBAでTIFF画像を読み込むには?
-
EXCEL VBAで、EXCELの入力規則...
-
Excelで可視セルの行番号取得
-
Spreadでの複数行選択
-
vbaで、オートシェイプ文字列、...
-
漢字読み取得方法
-
javascriptでIMEの状態を取得
-
javascriptでローカルフォルダ...
-
自分のファイル名取得
-
VB2005 アクティブフォームのキ...
-
C++のDLLでコマンドライン引数...
-
エクセルVBAでホームページの文...
-
MultipartRequestWrapperについて
-
log4jでログレベルが取得できな...
-
画像を分析して文字列を取得
-
スプレッドのアクティブセルの...
おすすめ情報