【发布时间】:2019-11-04 01:42:51
【问题描述】:
我想通过 VBScript 从 Excel 文件运行宏,以便我可以通过任务计划程序运行该脚本。
该部分有效,但是当它尝试保存文件时,它总是询问“文件已经存在,要覆盖吗?是,否,取消”。
在研究时,每个线程都说将 DisplayAlerts 设置为 False,我已经这样做了,但这不起作用。如果我只使用 .Save ,那么它会将其保存到我的默认文档目录 - 而不是共享点。
strPath = "\\ecs.zspi.company.de@SSL\DavWWWRoot\Folder\Test.xlsm"
strMacro = "VV.VVImport2" '
Set objApp = CreateObject("Excel.Application")
objApp.Visible = True
objApp.DisplayAlerts = False
objApp.AskToUpdateLinks = False
objApp.AlertBeforeOverwriting = False
objApp.FeatureInstall = msoFeatureInstallNone
Set wbToRun = objApp.Workbooks.Open(strPath)
objApp.Run strMacro
wbToRun.SaveAs "\\ecs.zspi.company.de@SSL\DavWWWRoot\Folder\Test.xlsm"
wbToRun.Close False
objApp.Quit
它应该将文件保存到原始位置而不发出警报。但我总是收到警告框“文件已存在,要覆盖吗?是,否,取消”。
【问题讨论】:
-
为什么在保存到同一个文件时使用另存为?你不能使用简单的保存吗?
-
如果我使用 .Save ,它会将文件保存到我的本地目录而不是共享点。
-
他为什么要这么做?这根本没有意义。
-
可能是我公司配置的。我们的 Documents 目录是一个网络驱动器。它集成为 T:\Documents。这样我们就可以在任何公司的电脑上登录并获得我们的数据。我猜有些系统路径是这样配置的。
-
你可以尝试
wbToRun.Application.DisplayAlerts = False,基于另一个线程中的评论。