문서를 저장하기 위해 매크로를 실행할 때 대화 상자가 표시되지 않습니다.

문서를 저장하기 위해 매크로를 실행할 때 대화 상자가 표시되지 않습니다.

이것이 제가 사용한 코드입니다. 디자이너에서 이것을 실행할 때만 대화 상자가 나타납니다. 디자이너를 닫고 매크로를 실행하면 통합 문서만 저장되지만 이 매크로를 실행할 때마다 대화 상자가 나타나도록 하고 싶습니다. 어떤 도움/제안이라도 부탁드립니다.

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")

  • 당신은 프롬프트를 얻을 수 있습니다.

여기에 이미지 설명을 입력하세요

  • 그리고 이것은 사용할 완전한 코드여야 합니다.

    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
    

주의이 코드는 다음과 같이 사용할 수 있습니다.통합 문서_BeforeClose이벤트도.

관련 정보