전부 또는 아무것도 인쇄하지 않음 (Microsoft Excel)
Karen은 사용자가 단일 워크 시트를 인쇄하도록 선택하더라도 전체 통합 문서를 인쇄 할 수있는 방법을 찾고 있습니다. 즉, 그녀는 전체 통합 문서를 인쇄하거나 전혀 인쇄하지 않을 방법을 찾고 있습니다. “중간”옵션이 없어야합니다.
이를 처리하는 유일한 방법은 매크로를 사용하는 것입니다. VBA를 사용하면 특정 이벤트가 발생할 때 시작되는 매크로를 만들 수 있습니다. 매크로를 트리거 할 수있는 이벤트 중 하나는 “인쇄”이벤트입니다. 누군가 인쇄를 요청하거나 인쇄 미리보기를 선택하면 Workbook 개체의 BeforePrint 이벤트가 트리거됩니다. 이벤트가 트리거 될 때 실행되는 고유 한 매크로를 만들 수 있습니다.
Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim sht As Variant Dim bPreview As Boolean Dim iResponse As Integer On Error GoTo ErrHandler iResponse = MsgBox(prompt:="Do you want to Print Preview?", _ Buttons:=vbYesNoCancel, Title:="Preview?") Select Case iResponse Case vbYes bPreview = True Case vbNo bPreview = False Case Else GoTo ExitHandler End Select Application.EnableEvents = False For Each sht In Sheets If sht.Visible Then sht.PrintOut Preview:=bPreview End If Next ExitHandler: Application.EnableEvents = True Cancel = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub
Excel에서 인쇄 할 준비가되거나 인쇄 미리보기가 호출 될 때마다 BeforePrint 이벤트가 트리거되고이 매크로가 실행됩니다. 매크로는 먼저 사용자에게 인쇄 미리보기를 원하는지 묻습니다. Select Case 구조는 질문에 대한 답변을 기반으로 bPreview 변수를 설정하는 데 사용됩니다. 그런 다음 bPreview의 설정이 발생하는 작업을 제어합니다.
사용자가 미리보기에 대해 물을 때 취소를 클릭하면 매크로가 종료되고 인쇄가 취소됩니다. 그렇지 않으면 통합 문서의 각 워크 시트를 검사하여 인쇄하거나 미리 봅니다. 워크 시트가 표시되면 인쇄되고 Preview 속성은 bPreview와 동일하게 설정됩니다 (True는 워크 시트가 미리보기를 의미하고 False는 실제로 인쇄됨을 의미 함).
매크로는 EnableEvents 속성을 False로 설정합니다. 이는 인쇄 또는 미리보기 중에 다른 이벤트가 트리거되지 않도록하기위한 것입니다.
EnableEvents가 “on”으로 유지되면 PrintOut 메서드를 사용할 때마다 전체 BeforePrint 이벤트가 다시 트리거됩니다. 이벤트 처리가 꺼지지 않은 경우 사용자는 무한 루프에 빠집니다.
또한 매크로를 종료하기 전에 발생하는 마지막 작업 중 하나는 Cancel 속성이 True로 설정되어 있다는 것입니다. 이는 BeforePrint 이벤트를 생성 한 원래 인쇄 또는 인쇄 미리보기 요청이 취소되도록 수행됩니다. 결국 해당 요청을 완료 할 필요가 없으며 매크로가 사용자를 위해 모든 인쇄 처리를 수행했습니다.
물론이 인쇄 방법을 사용하는 데는 한 가지주의 할 사항이 있습니다. 매크로가 활성화되지 않은 경우 처리기가 실행되지 않고 사용자가 원하는대로 인쇄 할 수 있습니다. (통합 문서를 여는 동안 Shift 키를 누르면 매크로가 비활성화되고 사용자에게 대부분의 경우 매크로를 활성화할지 묻는 메시지가 표시됩니다.) _ExcelTips_의 다른 문제에서이 사실을 논의했습니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (3329)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.
link : / excelribbon-Printing_All_or_Nothing [Printing All or Nothing]
.