【问题标题】:Excel Refresh and Save without any promptsExcel 刷新和保存没有任何提示
【发布时间】:2019-06-08 16:05:48
【问题描述】:

我有以下代码来打开和刷新 Excel 文件然后保存,除了我有几个文件有一个 Before_Close 事件对工作表进行一些更改之外,这工作正常。

当我在这些工作簿上使用 VB Net 代码时,它会提示并询问我是否确定要在关闭时保存更改。

我有类似的代码可以做同样的事情,但是通过 Excel 文件中的 VBA,我没有得到它只是保存和覆盖的提示,我可以用 VB 网络代码做些什么来阻止这个。

  Dim XLApp As Object
  Dim WBook As WorkBook

  XLApp = CreateObject("Excel.Application")
  XLApp.Visible = False
  XLApp.DisplayAlerts = False 

  WBook = XLApp.workbooks.Open("Y:\Test.xlsb")
  WBook.Refreshall()
  WBook.Save()
  WBook.Close()

  XLApp.Quit()

  WBook = Nothing
  XLApp = Nothing

干杯

【问题讨论】:

  • 快速提问:您希望触发该事件然后保存文件还是阻止触发该事件?
  • 我希望事件按照它应该执行的方式触发,但不问我是否确定,我正在尝试自动化一些 Excel 报告,以便我可以设置不同的电子邮件时间表等。跨度>

标签: excel vba vb.net automation


【解决方案1】:

我似乎有一个修复,但需要自己修改 excel 文件,这并不理想。

由于我的一份报告需要在关闭工作表以准备下次打开时对其进行修改,因此这种解决方法似乎可以阻止它重新询问是否确定保存。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

   If Not Me.Saved Then   
      Call sbWritePivotWhenClosing
      Me.Save
      Me.Saved = True       
    Else  
     Call sbWritePivotWhenClosing
     Me.Saved = True
    End If
  End Sub

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 2012-12-11
    • 2018-03-22
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 2019-01-19
    • 2023-03-28
    • 1970-01-01
    相关资源
    最近更新 更多