• 締切済み

Accessからバッチファイルを実行したい

accessのVBAで、フォルダ内にあるバッチファイルを実行したいのですが、 このサイトを参考につくってみたのですが、うまくいきません。 http://blog.s21g.com/articles/1202 「実行時エラー-2147024894 Runメソッドは失敗しました。'IWshShell3'オブジェクト」 とでます。 どうしたらいいか教えてください。。。 ちなみに、そのバッチは単純にCSVを他の格納先から、ダウンロードするだけの単純なバッチです。 ------------- Private Sub バッチ実行_Click() Dim strShellCommand As String Dim objWSH As Object strShellCommand = "\\~省略~類¥DL_BOPE.bat" ' バッチのあるパスとバッチファイルの名前を入れています Set objWSH = CreateObject("WScript.Shell") objWSH.Run strShellCommand, vbNormalFocus, True ' 第3引数がTrueなら、同期実行 Set objWSH = Nothing End Sub

みんなの回答

回答No.2

>実行時エラー-2147024894 このエラーはファイルが見つからない場合に出ますね。 可能性として 1・タイプミス 2・Path中にスペースが含まれている "\\~省略~類¥DL_BOPE.bat" を、"""\\~省略~類\DL_BOPE.bat""" に変更 じゃないでしょうか?お試しあれ。 なお、当方のWin7同士やWin7→NAS(Linuxベース)では \\server名\共有名 のUNC名指定でも \\192.168.・・・ のIPアドレス指定でも問題ありませんでした。 ただ、OSからセキュリティの確認メッセージが出てしまいます。 『このファイルの作成者を確認できません。このファイルを実行しますか』 キャンセルすると実行時エラー -2147023673(800704c7) になってしまいます。 Access2010のセキュリティセンターで『安全な場所』に追加しても効果なし。 これはGoogleと http://tunes.sakura.ne.jp/tipi/?Windows%2F%A5%A8%A5%E9%A1%BC%A1%A7%A4%B3%A4%CE%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%BA%EE%C0%AE%BC%D4%A4%F2%B3%CE%C7%A7%A4%C7%A4%AD%A4%DE%A4%BB%A4%F3%A1%A3%A4%B3%A4%CE%A5%D5%A5%A1%A5%A4%A5%EB%A4%F2%BC%C2%B9%D4%A4%B7%A4%DE%A4%B9%A4%AB%A1%A9 で回避できました。

回答No.1

>strShellCommand = "\\~省略~類¥DL_BOPE.bat" ' バッチのあるパスとバッチファイルの名前を入れています 「¥¥コンピューター名¥共有名¥フォルダ名¥ファイル名」のようなパスは、Runメソッドで使えないような気がしますが、こういうパス名がRunメソッドで使える事は確認してありますか? 当方は、共有フォルダにあるバッチをいきなり動かすのが出来ないので、HDD内の一時フォルダに @ECHO OFF NET USE Z: /DELETE NET USE Z: \\コンピュータ名\共有名 Z: CD Z:\フォルダ CALL Z:HOGE.BAT って言うバッチを作ってから、2段階で、共有フォルダ内のバッチを起動してます。

関連するQ&A