我正在制作一个简单的vbs,它将打开和关闭一个excel文件并在关闭时保存。这是为了在excel文件被单独的python脚本修改后更新它们内部的值,我需要这样做才能解决我无法控制的许多愚蠢的原因。
我对VBS没有很多经验,但是我对此进行了研究,我没有在代码中看到错误。但是,每当我尝试运行下面的代码时,我都会收到错误。错误是:
Line: 7
Char: 39
Error: Expected statement
Code: 800A0400
Source: Microsoft VBScript compilation error
任何帮助将不胜感激,谢谢!
dim fso
set fso = CreateObject("Scripting.FileSystemObject")
if(fso.FileExists("C:\Users\Public\Documents\Templates\testfile.xlsx")) then
set xlapp = createobject("Excel.Application")
xlapp.Workbooks.Open "C:\Users\Public\Documents\Templates\testfile.xlsx"
xlapp.ActiveWorkbook.SaveAs Filename:="C:\Users\Public\Documents\Templates\testfile_test.xlsx", FileFormat:=51, ConflictResolution:=2
xlapp.ActiveWorkbook.Close SaveChanges:=True
end if
答案 0 :(得分:0)
如果您使用的是独立VBS,则以下行无法正常工作,因为VBS不是VBA。 VBA在函数调用中支持Named Argument Syntax,而VBS不支持它。
xlapp.ActiveWorkbook.SaveAs Filename:="C:\Users\Public\Documents\Templates\testfile_test.xlsx", FileFormat:=51, ConflictResolution:=2
xlapp.ActiveWorkbook.Close SaveChanges:=True
您必须为函数提供参数。因此Function ArgName:=ArgValue
变为Function ArgValue
xlapp.ActiveWorkbook.SaveAs "C:\Users\Public\Documents\Templates\testfile_test.xlsx",51,,,,,,2
xlapp.ActiveWorkbook.Close True