我已经编写了一个小脚本,用于打开excel工作簿,执行宏,然后保存工作簿。唯一的问题是,在执行宏之后,保存提示会询问我是否要保存文件的副本,而不是文件本身。如果我单击原始文件并覆盖副本保存,则只会再次弹出提示,要求我保存副本,而不更改原始文件。有人知道怎么解决这个问题吗??
Option Explicit
Dim xlApp, xlBook
set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
set xlBook = xlApp.Workbooks.Open("C:\Users\HGAGNE\Desktop\Master.xlsm", 0, False)
xlApp.Run "BatchProcessing"
xlApp.DisplayAlerts = True
Set xlBook = Nothing
Set xlApp = Nothing
发布于 2015-07-23 18:30:12
您的代码(如图所示)不会尝试保存或关闭打开的工作簿,也不会在销毁对象之前尝试退出Excel.Application。在相关问题上,Workbooks.Open method的第二个参数(例如UpdateLinks)不会将0作为可接受的值。
Option Explicit
Dim xlApp, xlBook
set xlApp = CreateObject("Excel.Application")
xlApp.DisplayAlerts = False
'set xlBook = xlApp.Workbooks.Open("C:\Users\HGAGNE\Desktop\Master.xlsm", UpdateLinks:=2, ReadOnly:=False)'in VBA as this for explanation
set xlBook = xlApp.Workbooks.Open("C:\Users\HGAGNE\Desktop\Master.xlsm", 2, False) 'in VBS
xlApp.Run "BatchProcessing"
'xlBook.Close SaveChanges:=True 'in VBA as this for explanation
xlBook.Close True 'in VBS
xlApp.Quit
'xlApp.DisplayAlerts = True 'not really a need for this
Set xlBook = Nothing
Set xlApp = Nothing
该代码作为MS Access VBA项目中的子代码和VBS脚本文件进行了测试。
https://stackoverflow.com/questions/31593489
复制相似问题