首页 > 解决方案 > VBA Excel 保存带有取消选项的工作簿

问题描述

我编写了一个代码,让我可以通过在用户窗体中按下命令按钮来保存启用宏的工作簿。它会生成一个文件名,一切都很完美,但是我通过 VBA 保存文件时遇到的问题是,如果我取消或关闭保存窗口,它仍然会保存文件,但文件名是“FALSE”。

我的代码是:

Private Sub SaveAs_CommandButton_Click()

'Declare variables
Dim fName As Variant

'Main Function
fName = Application.GetSaveAsFilename( _
InitialFileName:="TU_" & UserForm_TVPM.OfferNumber_TextBox.Value & "_" & UserForm_TVPM.Client_TextBox.Value & ".xlsm", _
FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm")
    
ActiveWorkbook.SaveAs FileName:=fName, FileFormat:=xlOpenXMLWorkbookMacroEnabled

End Sub

有人可以帮我修改代码,以便取消保存符合预期(像在任何其他软件中一样取消保存)吗?

标签: excelvbasave-as

解决方案


私有子 SaveAs_CommandButton_Click()

'检查是否输入了所有值 If Not CheckMissingHomeValues Then Exit Sub

'声明变量 在fName Save as命令后插入一行代码检查fName = False然后退出。下面提到的代码已经添加了命令。

sub
    Dim fName As Variant
    
    'Main Function
    fName = Application.GetSaveAsFilename( _
    InitialFileName:="TU_" & UserForm_TVPM.OfferNumber_TextBox.Value & "_" & UserForm_TVPM.Client_TextBox.Value & ".xlsm", _
    FileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm")
    If fName = False then exit sub 
    ActiveWorkbook.SaveAs FileName:=fName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    
    End Sub

推荐阅读