VBAからコマンドプロンプトで命令を実行させ結果を取得する

MSACCESS_eyecatch
SBMJOB

コマンドプロンプトからコマンドを実行するといろんな結果が返ってきて便利ですし、サードパーティーからいろんなコマンドプロンプトでの実行タイプアプリケーションがあります。これらをVBAから実行させその結果をVBAで取得すれば処理の幅がひろがるのでこの記事ご紹介させてください。

目次

スポンサーリンク

考え方

実装の参考とさせていただきました。

Xpdfを使っての実装例

Xpdfとは

この例ではXpdfを使って標準出力を取得しています。

コード

Sub xpdf_pdfinfo_getInformation()
    Dim WSH, wExec, sCmd As String, Result As String
    Set WSH = CreateObject("WScript.Shell")         ''(1)
    sCmd = "dir C:\"
    sCmd = "C:\Users\xxxx\Desktop\test\pdfinfo.exe C:\Users\xxxx\Desktop\test\no.pdf" ''(2)
    sCmd = "C:\Users\xxxx\Desktop\test\pdfinfo.exe C:\Users\xxxx\Desktop\test\password.pdf" ''(2)
    Set wExec = WSH.Exec("%ComSpec% /c " & sCmd)    ''(3)
    Do While wExec.Status = 0                       ''(4)
        DoEvents
    Loop
    Result = wExec.StdOut.ReadAll                   ''(5)
    MsgBox Result
    Set wExec = Nothing
    Set WSH = Nothing
End Sub

取得結果 

結果を取得しMsgboxに内容を出力しています。

上記の出力結果からEncryptedの行だけを取得してくればその結果で暗号化されているかされていないかをVBAのコードの中で判定できる様になってきます。

スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

システム開発SE・アプリ開発・デバッガー等々なんでもやる猫の下僕です。現在は凶暴猫にカタカタ動く手を狙われながらキーボードを打っています。かなりゆるい性格なのでコメントやメッセージお気軽に〜お仕事のご依頼もお気軽にぃ〜

スポンサーリンク

コメント

コメントする

CAPTCHA


目次