确保您的VBS文件被放置在您要创建Excel文件的文件夹内。运行vbs文件后,可以从该文件夹中删除它。使用此代码VBS文件内:
call fn_createExcel()
Function fn_CreateExcel()
Dim objFso, objExcel, objWorkbook
Set objFso = CreateObject("Scripting.FileSystemobject")
strTemp = objFso.GetAbsolutePathName("")
tempArr=Split(strTemp,"\")
strFileName= strTemp&"\"&tempArr(ubound(tempArr))&"_Summary.xlsx"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
objWorkbook.SaveAs strFileName
objExcel.Quit
Set objExcel = Nothing
Set objFso = Nothing
End Function
编辑2: 创建具有如下VBA代码一个XLSM文件(也见附图的图像)。将此xlsm文件放入要创建excel文件的文件夹内,然后打开并运行该过程。 Excel文件创建后,您可以从该文件夹中删除此xlsm文件。
Function fn_CreateExcel()
Dim objExcel, objWorkbook, strFileName, strTemp
strTemp = Application.ActiveWorkbook.Path
tempArr = Split(strTemp, "\")
strFileName = strTemp & "\" & tempArr(UBound(tempArr)) & "_Summary.xlsx"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
objWorkbook.SaveAs strFileName
objExcel.Quit
Set objExcel = Nothing
End Function
您可以按照您的要求进一步修改代码/逻辑。我试过这段代码并且正在工作。
感谢您的解决方案。我怎样才能让这个代码在VBA excel工作表中工作?我将你的代码粘贴到Excel中的VBA项目中,但得到了错误“无效的外部过程”。谢谢! – Joe
@Joe查看更新的答案。 – Gurman