我正在尝试使用此代码将当前工作簿导出到具有当前时间戳的HTML站点
Private Sub btnSave_Click()
ActiveWorkbook.Save 'Save current file
Dim ActSheet As Worksheet
Dim ActBook As Workbook
Dim CurrentFile As String
Dim NewFileType As String
Dim NewFile As String
Application.ScreenUpdating = False ' Prevents screen refreshing.
CurrentFile = ThisWorkbook.FullName ' Remeber location of original file
NewFileType = "Web files File (*.HTML), *.html" 'Set file type
Newfilename = "Shed9-" & Format(CStr(Now), "yyyy-mm-dd_hh-mm") 'Save as timestamp
NewFile = Application.GetSaveAsFilename( _
InitialFileName:=Newfilename, _
fileFilter:=NewFileType)
If NewFile <> "" And NewFile <> "False" Then
ActiveWorkbook.SaveAs Filename:=NewFile, _
FileFormat:=xlHtml
Set ActBook = ActiveWorkbook
Workbooks.Open CurrentFile
ActBook.Close
End If
Application.ScreenUpdating = True
End Sub
理论上,此过程应保存当前文件,将副本(带有时间戳,忽略VBA)保存为网页,关闭网页(老实说我什至不想打开)并返回到原始电子表格。 不幸的是,问题出在最后部分:Excel打开网页(!),然后出现一个永无休止的弹出式问题:“您要保存文件Shed-9 .html吗?”。
那么,如何才能删除该弹出窗口并直接导出而不打开呢?
编辑我试图通过在关闭之前强制保存HTML副本
ActBook.Save
ActBook.Close
但这会导致错误:
“已经添加了具有相同键的项目”。 如果那很重要,则工作簿中有多个工作表和通过PowerQuery获取的数据
编辑(原始代码来自此处) -原始作者应获得他/她的荣誉