我一直在使用AccessMode and ConflictResolution,它对vba很好.
在vbs
ObjWB.SaveAs myFolder & "test.xlsx", AccessMode:=xlExclusive, ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges
Run Code Online (Sandbox Code Playgroud)
投掷expected statement error角色: =
如何在vbs中保存并强制替换?
VBScript不支持param:=valueVB和VBA 的功能.您需要以正确的顺序提供函数参数.但是,如果它们是可选的,则可以省略参数值.它也不会定义任何Excel的常量.你必须自己定义它们.请尝试以下方法:
Const xlExclusive = 3
Const xlLocalSessionChanges = 2
ObjWB.SaveAs myFolder & "test.xlsx", , , , , , xlExclusive, xlLocalSessionChanges
Run Code Online (Sandbox Code Playgroud)
以这种方式调用函数可能会使省略的参数数量变得混乱,因此,在自己的行中指定每个参数值通常很有用(如果您不介意额外的代码行):
ObjWB.SaveAs myFolder & "test.xlsx", _ ' Filename
, _ ' FileFormat
, _ ' Password
, _ ' WriteResPassword
, _ ' ReadOnlyRecommended
, _ ' CreateBackup
xlExclusive, _ ' AccessMode
xlLocalSessionChanges ' ConflictResolution
Run Code Online (Sandbox Code Playgroud)
在Excel中的Visual Basic编辑器中,您可以使用对象浏览器(快捷键= F2)来确定Excel类型库定义的常量的值.