excel - 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
有人可以帮我修改代码,以便取消保存符合预期(像在任何其他软件中一样取消保存)吗?
解决方案
私有子 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
推荐阅读
- cmake - 编译自己的项目时 gtkmm 4.0 标头构建错误
- linux - 无法在 laravel 公用文件夹中写入
- c - 为什么C中的这两个刺不相等?
- r - 此 API 项目无权使用此 API - 在 R 中使用地理编码
- mkdir - 我想创建一个带有变量路径的目录
- jmeter - JMeter - 出错后停止线程,但允许重试
- c - 图形缓冲区 - 水平和垂直填充,性能
- openvino - 如何配置 OpenVino 2020.4 Myriad Compile?
- regex - 多个复杂的 .htaccess RewriteRules
- angular - 如何在 msal:handleRedirectStart 上检索有效负载?