요약
Microsoft Excel에서는 통합 문서를 닫을 때 변경 내용 저장 프롬프트를 표시하지 않는 Microsoft VBA(Visual Basic for Applications) 매크로를 만들 수 있습니다. 이 작업은 통합 문서 Saved 속성의 상태를 지정하거나 통합 문서에 대한 모든 경고를 표시하지 않고 수행할 수 있습니다.
추가 정보
참고: Microsoft는 명시적이거나 묵시적인 보증 없이 설명용으로만 프로그래밍 예제를 제공합니다. 여기에는 상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증이 포함되지만 이에 국한되지 않습니다. 이 문서에서는 설명 중인 프로그래밍 언어와 프로시저를 만들고 디버깅하는 데 사용되는 도구에 대해 잘 알고 있다고 가정합니다. Microsoft 지원 엔지니어는 특정 절차의 기능을 설명하는 데 도움을 줄 수 있습니다. 그러나 추가 기능을 제공하거나 특정 요구 사항을 충족하는 절차를 구성하기 위해 이러한 예제를 수정하지는 않습니다.
아래 예제 중 하나를 구현할 준비를 하려면 먼저 다음 단계를 수행합니다.-
Excel을 시작하고 새 통합 문서를 엽니다.
-
Alt+F11을 눌러 Visual Basic 편집기를 시작합니다.
-
삽입 메뉴에서 모듈을 클릭합니다.
-
모듈 시트에서 샘플 매크로 코드를 입력합니다.
-
Alt+F11을 눌러 Excel로 돌아갑니다.
-
Microsoft Office Excel 2003 및 이전 버전의 Excel에서는 도구 메뉴에서 매크로를 선택한 다음 매크로를 클릭합니다.
Microsoft Office Excel 2007의 개발자 탭에 있는 코드 그룹에서 매크로를 클릭합니다. 개발자 탭을 사용할 수 없는 경우 다음 을 수행하는 것이 좋습니다. a. Microsoft Office 단추를 클릭한 다음 Excel 옵션을 클릭합니다. b. 인기 범주의 Excel 작업에 대한 상위 옵션에서 를 클릭하여 표시 를 선택합니다. 리본 메뉴검사 상자의 개발자 탭에서 확인을 클릭합니다. -
원하는 매크로를 선택한 다음 실행을 클릭합니다.
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로 설정되었는지 확인합니다. 이렇게 설정되었으면 통합 문서가 마지막으로 저장된 후 변경된 것이며 해당 변경 내용이 저장됩니다.