首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >VBScript将仅保存我的文件的副本

VBScript将仅保存我的文件的副本
EN

Stack Overflow用户
提问于 2015-07-24 00:48:58
回答 1查看 584关注 0票数 1

我已经编写了一个小脚本,用于打开excel工作簿,执行宏,然后保存工作簿。唯一的问题是,在执行宏之后,保存提示会询问我是否要保存文件的副本,而不是文件本身。如果我单击原始文件并覆盖副本保存,则只会再次弹出提示,要求我保存副本,而不更改原始文件。有人知道怎么解决这个问题吗??

代码语言:javascript
代码运行次数: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", 0, False)
xlApp.Run "BatchProcessing"
xlApp.DisplayAlerts = True


Set xlBook = Nothing
Set xlApp = Nothing
EN

回答 1

Stack Overflow用户

发布于 2015-07-24 02:30:12

您的代码(如图所示)不会尝试保存或关闭打开的工作簿,也不会在销毁对象之前尝试退出Excel.Application。在相关问题上,Workbooks.Open method的第二个参数(例如UpdateLinks)不会将0作为可接受的值。

代码语言:javascript
代码运行次数: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脚本文件进行了测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31593489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档