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