実現したいこと
●VBSファイルからexcelファイルのVBAを実行したいです。
内容:VBAファイルのAシートを、所定場所のファイルに上書きするコードになっています。
以下参考サイトを再現しようとしたら、cmdで実行するとエラーになってしまいました。
※エラーはVBA処理は実行できているが、エラーメッセージが出る結果となっています。
対処方法を教えていただけないでしょうか?
参考サイト:https://plus-info-tech.com/macro-auto-run
●VBAファイルとvbs保管場所
・VBAファイル中身
●VBA実行後上書きされるファイル保管場所
※朱字はパス名になります。
●cmd
発生している問題・エラーメッセージ
該当のソースコード
VBS
1Dim excelApp,macro 2 3file = WScript.Arguments(0) 4macro = WScript.Arguments(1) 5 6Set excelApp = CreateObject("Excel.Application") 7 8excelApp.Visible = False 'Excelを非表示にする 9excelApp.DisplayAlerts = False 'ポップアップメッセージを非表示にする 10excelApp.AutomationSecurity = 1 'マクロを有効にする 11 12'Excelファイルを読み取り専用で開く 13excelApp.Workbooks.Open file,3,False 14 15'WScript.Echo "---マクロを実行します---" 16 17'マクロを実行する 18excelApp.Run macro 19 20'WScript.Echo "---マクロの実行が完了しました---" 21 22'Excelを終了する 23excelApp.Quit 24 25Set excelApp = Nothing
VBA
1Sub 転記() 2 Path = "\\vvv\www\xxx\yyy" ’vvv,www,xxx,yyyはパス名になります。 3 Workbooks.Add 'ファイル作成 4 ThisWorkbook.Sheets("A").Copy After:=ActiveWorkbook.Sheets(Sheets.Count) '新規ファイルの最終シートへコピー 5 Application.DisplayAlerts = False 'メッセージ非表示※上書き保存 6 For Each ws In Sheets 7 If ws.Name <> "A" Then ws.Delete 'ワークシート名が"溶接機一覧"以外は削除 8 Next ws 9 ActiveWorkbook.SaveAs Filename:=Path & "\" & "一覧" '保存 10 ActiveWorkbook.Close '新規ファイル閉じる 11 Application.DisplayAlerts = True 'メッセージ表示※上書き保存 12 13 Application.Quit 14 Application.DisplayAlerts = False 'メッセージを非表示に設定 15 ThisWorkbook.Close False 16 Application.DisplayAlerts = True 'メッセージを非表示に設定 17 18End Sub
試したこと
VBSファイルでは以下トライもしましたが、同じエラーが出てしまいました。
Dim excelApp,macro → Dim excelApp,file,macro
excelApp.Quit → 'excelApp.Quit
補足情報(FW/ツールのバージョンなど)
①VBSファイルがタスクスケジューラ上で実行できないエラー
●以下参考URLに沿って設定したのですが、実行できませんでした。
●設定内容
●エラー内容
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー