我有以下代码来打开和刷新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 文件本身,这并不理想。
由于我的一个报告需要在工作表关闭时修改工作表以准备下次打开,因此此解决方法似乎阻止它重新询问是否确定保存。
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