質問: バッチ処理・VBS処理について教えてください。 いまWindowsのバッチ処理(.bat)で、VBS(.vbs)を起動して処理しています。 VBSの中身は、Excelマクロを動かして、ファイルをコピーして、という処理です。 この動かすExcelファイルは4つあり、順番に動かしていたのですが、今月上旬くらいから突然2つ目のファイルでエラーが出るようになってしまいました。 4つのファイルすべて同じような処理ですが、順番を入れ替えても必ず2つ目でExcelマクロRunでエラーになります。 個別でマクロを実行すると正しく実行されます。 また、4つそれぞれVBSで実行されると正しく動きます。 ひとつのVBSに2つ以上あると2つ目のExcelマクロがエラーになるのです。 このエラーを直すには、どうしたらよいでしょうか? バッチにもVBSにも詳しくなく、困っています。 よろしくお願いします。 VBSの中身は↓これが4つ順番に書かれています。 objExcel.Workbooks.Open ”Excelファイル名" objEXCEL.Run "マクロ名" objExcel.Workbooks(1).Close objExcel.Quit objFso.CopyFile "コピー用記述" Excelマクロは、「PowerQueryで読み込むデータを更新する」という処理です。 エラーは、テーブルの更新のときに「オートメーションエラー」が出ます。 手動でやりなおすとエラーが出ず正常稼働しますのでマクロの記述エラーは無いと思います。 バッチファイルはWindowsのタスクスケジューラから自動起動しています。
回答: VBSは詳しくないんですが、たぶん 1つ目でobjExcel.QuitでExcelが終了してobjExcelが無効になっていますから 2つ目でいきなりobjExcel.Workbooks.Openはできないでしょ QuitしないかまたはobjExcelにもう一度セットするかしないとだめでしょう