적용 대상
Excel 2007

요약​​

Microsoft Excel에서는 통합 문서를 닫을 때 변경 내용 저장 프롬프트를 표시하지 않는 Microsoft VBA(Visual Basic for Applications) 매크로를 만들 수 있습니다. 이 작업은 통합 문서 Saved 속성의 상태를 지정하거나 통합 문서에 대한 모든 경고를 표시하지 않고 수행할 수 있습니다.

추가 정보

참고: Microsoft는 명시적이거나 묵시적인 보증 없이 설명용으로만 프로그래밍 예제를 제공합니다. 여기에는 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증이 포함되지만 이에 국한되지 않습니다. 이 문서에서는 설명 중인 프로그래밍 언어와 프로시저를 만들고 디버깅하는 데 사용되는 도구에 대해 잘 알고 있다고 가정합니다. Microsoft 지원 엔지니어는 특정 절차의 기능을 설명하는 데 도움을 줄 수 있습니다. 그러나 추가 기능을 제공하거나 특정 요구 사항을 충족하는 절차를 구성하기 위해 이러한 예제를 수정하지는 않습니다. 아래 예제 중 하나를 구현할 준비를 하려면 먼저 다음 단계를 수행합니다.

  1. Excel을 시작하고 새 통합 문서를 엽니다.

  2. Alt+F11을 눌러 Visual Basic 편집기를 시작합니다.

  3. 삽입 메뉴에서 모듈을 클릭합니다.

  4. 모듈 시트에서 샘플 매크로 코드를 입력합니다.

  5. Alt+F11을 눌러 Excel로 돌아갑니다.

  6. Microsoft Office Excel 2003 및 이전 버전의 Excel에서는 도구 메뉴에서 매크로를 선택한 다음 매크로를 클릭합니다.Microsoft Office Excel 2007의 개발자 탭에 있는 코드 그룹에서 매크로를 클릭합니다. 개발자 탭을 사용할 수 없는 경우 다음을 수행하는 것이 좋습니다.     a. Microsoft Office 단추를 클릭한 다음 Excel 옵션을 클릭합니다.b. 인기 범주의 Excel 작업에 대한 상위 옵션에서 를 클릭하여 표시를 선택합니다.         리본 메뉴검사 상자의 개발자 탭에서 확인을 클릭합니다. 

  7. 원하는 매크로를 선택한 다음 실행을 클릭합니다.

Saved 속성은 마지막으로 저장한 이후 통합 문서를 변경한 경우 False 값을 반환합니다.예약된 서브루틴 이름 Auto_Close 사용하여 통합 문서를 닫을 때마다 실행되어야 하는 매크로를 지정할 수 있습니다. 이렇게 하면 사용자가 Excel에서 문서를 닫을 때 문서가 처리되는 방식을 제어할 수 있습니다.  

예제 1: 변경 내용을 저장하지 않고 통합 문서 닫기

변경 내용을 저장하지 않고 통합 문서를 강제로 닫으려면 통합 문서의 Visual Basic 모듈에서 다음 코드를 입력합니다.  

    하위 Auto_Close()

        ThisWorkbook.Saved = True

    End Sub

Saved 속성이 True로 설정되면 통합 문서가 이미 저장되어 있고 마지막 저장 이후 변경 내용이 발생하지 않은 것처럼 Excel에서 응답합니다.프로그램의 DisplayAlerts 속성을 동일한 용도로 사용할 수 있습니다. 예를 들어, 다음 매크로에서는 DisplayAlerts를 해제하고 변경 내용을 저장하지 않고 활성 통합 문서를 닫은 다음 DisplayAlerts를 다시 설정합니다.  

    Sub CloseBook()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

Close 메서드의 SaveChanges 인수를 사용할 수도 있습니다.다음 매크로는 변경 내용을 저장하지 않고 통합 문서를 닫습니다.  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

예제 2: 통합 문서를 닫고 변경 내용 저장

통합 문서의 변경 내용을 강제로 저장하려면 통합 문서의 Visual Basic 모듈에서 다음 코드를 입력합니다.  

    하위 Auto_Close()

        ThisWorkbook.Saved = False이면

            ThisWorkbook.Save End If

    End Sub

이 하위 프로시저는 저장된 파일 속성이 False로 설정되었는지 확인합니다. 이렇게 설정되었으면 통합 문서가 마지막으로 저장된 후 변경된 것이며 해당 변경 내용이 저장됩니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.