Excel刷新并保存,无任何提示

时间:2019-01-14 16:25:32

标签: excel vba vb.net automation

我具有以下代码来打开和刷新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

欢呼

1 个答案:

答案 0 :(得分:0)

我似乎有一个修复程序,但是需要自己修改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