我正在尝试制作一个按钮,该按钮将显示另存为对话框,并在保存时将当前工作簿另存为单独的 Excel 工作簿,我为其输入文件名和位置。
到目前为止我所拥有的代码是:
Private Sub Save_Button_Click()
Application.GetSaveAsFilename InitialFileName:="S0000.xlsx"
End Sub
有人可以分享此操作的代码吗?
答案 0 :(得分:2)
试试这个:
Private Sub Save_Button_Click()
dim fName as variant
fName = Application.GetSaveAsFilename( _
InitialFileName:="S0000.xlsx", _
FileFilter:="Excel Workbook (*.xlsx), *.xlsx")
ActiveWorkbook.SaveAs Filename:=fName, FileFormat:=xlWorkbookDefault
End Sub
这是改编自 Duplicate your workbook in seconds 中的示例。
它保存活动工作簿(即当前在 Excel 前台打开的工作簿)。这可能是也可能不是包含代码的工作簿。
如果您想确保包含此代码的工作簿是保存的工作簿,请将 ActiveWorkbook
更改为 ThisWorkbook
。
要捕获用户未提供的文件名(在他们删除您的默认文件名后),您可以添加条件语句进行检查,例如:
Private Sub Save_Button_Click()
dim fName as variant
fName = Application.GetSaveAsFilename( _
InitialFileName:="S0000.xlsx", _
FileFilter:="Excel Workbook (*.xlsx), *.xlsx")
If fName <> False Then ActiveWorkbook.SaveAs Filename:=fName, FileFormat:= xlOpenXMLWorkbook
End Sub