簡體   English   中英

如何在沒有用戶提示保存文件的情況下保存 Excel?

[英]How to Save Excel without an user prompt to save the file?

嗨,我在 Excel 工作表上使用 VBScript 編寫了一些代碼,如下所示。 現在每次當腳本完成它的處理時,它都會提示用戶Save 。但我不想要這個,而是我希望它在沒有提示的情況下自動保存它。

代碼

    Option Explicit

    Dim objExcel1,strPathExcel1,objSheet1,objSheet5

    Set objExcel1 = CreateObject("Excel.Application")'Object for Condition Dump
    strPathExcel1 = "D:\VA\GE_Wing_To_Wing_Report.xlsx"
    objExcel1.Workbooks.Open strPathExcel1
    Set objSheet1 = objExcel1.ActiveWorkbook.Worksheets(1)
    Set objSheet5 = objExcel1.ActiveWorkbook.Worksheets(5)

    '=====================================================================================
    'Here Bad sheet will be copied by the data from First sheet master data sheet
    '=====================================================================================
       ParentPIDFromMasterSheet objSheet1,objSheet5

    '=====================================================================================
    'Here Bad sheet will be copied by the data from First sheet master data sheet
    '=====================================================================================
       BadDataSelectionDel objSheet5

    '=======================
    objExcel1.ActiveWorkbook.SaveAs strPathExcel1
    objExcel1.Workbooks.close
    objExcel1.Application.Quit
    '======================

未經測試(試試這個)

您需要設置您的工作簿,然后在保存后將其關閉。 此外,在使用后在代碼末尾清理對象也是一種很好的做法。 :)

Option Explicit

Dim objExcel1, objWB, strPathExcel1, objSheet1, objSheet5

Set objExcel1 = CreateObject("Excel.Application") 'Object for Condition Dump
strPathExcel1 = "D:\VA\GE_Wing_To_Wing_Report.xlsx"
Set objWB = objExcel1.Workbooks.Open(strPathExcel1)
Set objSheet1 = objWB.Worksheets(1)
Set objSheet5 = objWB.Worksheets(5)

'=====================================================================================
'Here Bad sheet will be copied by the data from First sheet master data sheet
'=====================================================================================
   ParentPIDFromMasterSheet objSheet1, objSheet5

'=====================================================================================
'Here Bad sheet will be copied by the data from First sheet master data sheet
'=====================================================================================
   BadDataSelectionDel objSheet5

'=======================
objWB.Save
objWB.Close
objExcel1.Quit

'~~> Cleanup
Set objSheet1 = Nothing
Set objSheet5 = Nothing
Set objWB = Nothing
Set objExcel1 = Nothing
'======================

您只需要在保存文件之前添加這行代碼:

objExcel1.Application.DisplayAlerts = False 'Prevents prompts from appearing

我試過了,它奏效了。

暫無
暫無

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

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