簡體   English   中英

VBScript將僅保存我的文件的副本

[英]VBScript will only save a Copy of my file

我寫了一個小的腳本,可以打開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

您的代碼(如圖所示)不會嘗試保存或關閉打開的工作簿。 在銷毀對象之前,它也不會嘗試退出Excel.Application。 與此相關的是, Workbooks.Open方法的第二個參數(例如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腳本文件進行了測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM