Patrick은 Excel이 제한된보기에서 통합 문서를 열지 못하도록하는 방법을 궁금해합니다. 그는 누구나 파일을 열고, 읽고, 편집 할 수 있도록 기본보기에서 파일을 열길 원합니다.

대답은 전적으로 “보호 된보기”가 의미하는 바에 달려 있습니다. 워크 시트를 보호하지 않으려는 경우 매크로를 통해 비교적 쉽게 수행 할 수 있습니다. Excel에서 “보호 된보기”라는 용어에 대해 실제로 이야기하고 있다면 완전히 다른 상황입니다.

통합 문서가 보호되지 않았는지 확인하여 한 번 열면 편집 할 수 있도록하려면 다음과 같이 간단한 매크로가 트릭을 수행 할 수 있습니다.

Private Sub Workbook_Open()

ThisWorkbook.Unprotect End Sub

물론 이것은 개별 워크 시트의 보호를 해제하지 않습니다. 통합 문서의 각 워크 시트를 순환해야하므로 몇 단계가 더 필요합니다. 시트 보호를 해제하려는 통합 문서의 ThisWorkbook 모듈에 다음 매크로를 배치해야합니다.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

' Reprotect sheets that were protected on open workbook     Call ReprotectSheets ' Save changes in ThisWorkbook     ThisWorkbook.Save End Sub
Private Sub Workbook_Open()

' Unprotect all sheets in this workbook     Call UnprotectAllSheets End Sub

매크로는 실제 작업을 수행하는 다른 매크로를 호출하는 것 이상을 수행하지 않습니다. 이러한 다른 매크로는 통합 문서의 표준 모듈에 배치 할 수 있습니다.

Public arrProtectedSheets()



Sub ReprotectSheets()

' Reprotect worksheets that were protected on WorkbookOpen     Dim i As Integer

For i = LBound(arrProtectedSheets) To UBound(arrProtectedSheets)

ThisWorkbook.Worksheets(arrProtectedSheets(i)).Protect     Next i End Sub
Sub UnprotectAllSheets()

' Unprotect all worksheets in this workbook     Dim wks As Object     Dim i As Integer

i = 0     For Each wks In ThisWorkbook.Sheets         If IsSheetProtected(wks) Then             ' Remember names of protected sheets in order             ' to reprotect them on WorkbookClose             ReDim Preserve arrProtectedSheets(i)

arrProtectedSheets(i) = wks.Name             i = i + 1             ' Unprotect sheet             wks.Unprotect         End If     Next wks End Sub
Private Function IsSheetProtected(ByRef wks As Excel.Worksheet) As Boolean ' Function returns TRUE If Worksheetsheet Is Protected     With wks         IsSheetProtected = (.ProtectContents Or _           .ProtectScenarios Or .ProtectDrawingObjects)

End With End Function

UnprotectAllSheets 매크로의 기본 개념은 통합 문서의 각 워크 시트를 단계별로 실행하고 보호되는 경우 (IsSheetProtected 매크로에서 결정됨) 워크 시트의 이름이 배열에 저장된다는 것입니다. 그런 다음 ReprotectSheets 매크로에서 배열의 내용을 사용하여 해당 워크 시트를 다시 보호합니다. 물론이 접근 방식에서는 보호 된 워크 시트와 관련된 암호가 없다고 가정합니다.

실제로 실제 “보호 된보기”를 확인하려는 경우

꺼져 있다는 것은 다른 이야기입니다. 제한된보기에 대한 설정은 보안 센터에서 시스템별로 제어됩니다. 다음 단계에 따라 설정을 볼 수 있습니다.

  1. 리본의`link : / excelribbon-Displaying_Excels_Developer_Tab [개발자 탭]`을 표시합니다.

  2. 코드 그룹에서 매크로 보안을 클릭합니다. Excel은 보안 센터 대화 상자를 표시합니다.

  3. 대화 상자의 왼쪽에서 제한된보기를 클릭합니다. (그림 1 참조)

사용 가능한 실제 보호보기 설정은 사용중인 Excel 버전에 따라 다릅니다. 언급했듯이 이러한 설정은 시스템 수준에서 제어됩니다. 통합 문서별로 처리되지 않습니다. 결론은 매크로 코드로 피할 수 없다는 것입니다. 가능하다면 통합 문서에있는 모든 코드에 대해 시스템을 완전히 취약하게 만들 것입니다. 이전 버전의 Office 제품에서 흔히 볼 수 있었던 매크로 바이러스 시대로 돌아갈 것입니다.

제한된보기 설정 작동 방법에 대한 추가 정보는 다음 Microsoft 웹 사이트에서 찾을 수 있습니다.

https://support.office.com/en-us/article/what-is-protected-view-d6f09ac7-e6b9-4495-8e43-2bbcdbcb6653?ocmsassetID=HA010355931&CorrelationId=fce5243e-6c41-4865-89e9-530f125ea252&ui=en-US&rs=en-US&ad=US

통합 문서가 제한된보기에서 열리는 지 여부는 사용자의 시스템 설정에 따라 다릅니다. 즉, 열리는 항목에 대한 제어는 전적으로 개별 사용자에게 달려 있으며 통합 문서 작성자가 “강제”할 수 없습니다. 그러나 이로 인한 영향을 완화 할 수있는 방법이 있으며 신뢰와 관련이 있습니다. 보안 센터 대화 상자의 왼쪽에는 통합 문서와 관련하여이를 제어하는 ​​세 가지 설정이 있습니다.

신뢰할 수있는 게시자. *이 영역에 나열된 게시자의 통합 문서는 신뢰할 수 있으며 제한된보기를 우회하여 직접 열립니다.

신뢰할 수있는 위치. *이 영역에 나열된 위치에 저장된 통합 문서는 신뢰할 수 있으며 제한된보기를 우회하여 직접 열립니다.

신뢰할 수있는 문서. *이 영역에 언급 된 개별 통합 문서는 신뢰할 수 있으며 제한된보기를 우회하여 직접 열립니다.

통합 문서의 경우 제한된보기를 무시하려면 신뢰할 수있는 게시자 여야하고 통합 문서를 신뢰할 수있는 위치에 저장하거나 시스템에서 신뢰할 수있는 문서로 기록해야합니다.

이러한 모든 설정은 다시 사용자가 제어하며 매크로 코드를 통해 수정할 수 없습니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (12873)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.