我使用以下VBA创建所使用的电子表格的副本:
.top > li {
text-decoration: underline;
}
.top ol li {
text-decoration: none;
}
此代码将Excel文件的副本放在桌面上。完成此操作后,将打开新创建的Excel文件,并关闭另一个文件。
但是,另一个关闭会导致VBA也停止;因此,!important
不再出现。
如何更改VBA,使其在新打开的电子表格中继续显示并显示消息框?
答案 0 :(得分:0)
ThisWorkbook.Close SaveChanges = False
关闭工作簿。 VBA代码在内部,因此MsgBox
不出现。
最简单的解决方案是像这样更改您的代码:
MsgBox ("File saved successfully on desktop.")
ThisWorkbook.Close SaveChanges = False
要确保您的MsgBox不会“撒谎”,请引入错误捕获:
Sub Files()
On Error GoTo Files_Error
ActiveWorkbook.SaveCopyAs "C:\Users\" & Environ("Username") & "\Desktop\testfile.xlsm"
Workbooks.Open "C:\Users\" & Environ("Username") & "\Desktop\" & "testfile.xlsm", UpdateLinks:=False
MsgBox ("File saved successfully on desktop.")
ThisWorkbook.Close SaveChanges = False
On Error GoTo 0
Exit Sub
Files_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Files of Sub Modul1"
End Sub
如果MsgBox
之后无法保存文件,则会弹出一个新的MsgBox
。