このコードを使用してフォルダーを検索し、すべての Excel ファイル (同じ拡張子を持つ) を見つけ、開いている Excel ファイルから VBA スクリプトを実行し、プロンプトを表示せずに保存します。
strPath = "my path"
pathName="xlsx"
if strPath = "" then Wscript.quit
if pathName = "" then Wscript.quit
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
objExcel.DisplayAlerts = False
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder (strPath)
For Each objFile In objFolder.Files
If objFso.GetExtensionName (objFile.Path) = "xlsx" Then
Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)
Set objWorksheet = objWorkbook.WorkSheets(1)
objworksheet.Activate
objExcel.Application.Run "'filename and in quote because there is space.xlsm'!TestingMacro"
objWorkbook.saveas(objFile.Path)
objWorkbook.Close True 'Save changes
End If
Next
objExcel.Quit
ただし、実行するたびに、objExcel.Application.Run 行で実行時エラー 800A03EC が発生します。それで、それを解決するために私は何ができますか?
ありがとう!