当我运行宏来保存文档时不会显示对话框

当我运行宏来保存文档时不会显示对话框

这是我使用的代码。只有当我在设计器中运行此代码时,对话框才会弹出。当我关闭设计器并运行宏时,它只会保存工作簿,但我希望每次运行此宏时都会弹出对话框。请提供任何帮助/建议

Sub SaveAs()
    Dim IntialName As String
    Dim sFileSaveName As Variant
    IntialName = "Sample Output"
    sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")

    If sFileSaveName <> False Then
        ActiveWorkbook.SaveAs sFileSaveName
    End If
End Sub

答案1

您的代码需要一些更正:

  1. 由于您使用的子程序名称与某个保留字(命令)冲突另存为,因此 Excel 返回此错误!

在此处输入图片描述

  1. 您需要从命令行删除它,InitialFileName:=

原因:您正在尝试使用给定的名称保存文件IntialName = "Sample Output"

  1. 最后是错字,InitialName

建议更正:

  • 重命名子程序,例如,另存为或任何其他另存为

  • 将此行替换为sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")

有了这个,

sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")

  • 您得到了 Propmt。

在此处输入图片描述

  • 这应该是可以使用的完整代码。

    Sub SaveMyFileAs()
    
      Dim IntialName As String
      Dim sFileSaveName As Variant
    
      IntialName = "Sample Output"
    sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
    
      If sFileSaveName <> False Then
        ActiveWorkbook.SaveAs sFileSaveName
      End If
    
       End Sub
    

注意:此代码可以用作,工作簿_关闭前事也。

相关内容