Patrick fragt sich, wie Excel daran gehindert werden kann, Arbeitsmappen in der geschützten Ansicht zu öffnen. Er möchte, dass die Datei in der Normalansicht geöffnet wird, sodass jeder sie öffnen, lesen und bearbeiten kann.

Die Antwort hängt ganz davon ab, was unter „geschützte Sicht“ zu verstehen ist. Wenn Sie möchten, dass die Arbeitsblätter ungeschützt sind, ist dies über ein Makro relativ einfach. Wenn Sie wirklich darüber sprechen, was Excel als „geschützte Ansicht“ bezeichnet, ist dies eine ganz andere Situation.

Wenn Sie sicherstellen möchten, dass die Arbeitsmappe ungeschützt ist, damit sie nach dem Öffnen bearbeitet werden kann, kann ein so einfaches Makro den Trick ausführen:

Private Sub Workbook_Open()

ThisWorkbook.Unprotect End Sub

Dies hebt natürlich nicht den Schutz einzelner Arbeitsblätter auf. Dies erfordert einige weitere Schritte, da Sie jedes der Arbeitsblätter in der Arbeitsmappe durchlaufen müssen. Die folgenden Makros sollten im ThisWorkbook-Modul für die Arbeitsmappe platziert werden, deren Blätter Sie ungeschützt haben möchten:

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

Beachten Sie, dass die Makros kaum mehr tun, als andere Makros aufzurufen, die die eigentliche Arbeit erledigen. Diese anderen Makros können in einem Standardmodul in der Arbeitsmappe platziert werden:

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

Die Idee hinter dem UnprotectAllSheets-Makro ist, dass es jedes der Arbeitsblätter in der Arbeitsmappe durchläuft und, wenn es geschützt ist (bestimmt im IsSheetProtected-Makro), der Name des Arbeitsblatts in einem Array gespeichert wird. Der Inhalt des Arrays wird dann im ReprotectSheets-Makro verwendet, um diese Arbeitsblätter erneut zu schützen. Bei diesem Ansatz wird natürlich davon ausgegangen, dass keinem der geschützten Arbeitsblätter ein Kennwort zugeordnet ist.

Wenn Sie tatsächlich sicherstellen möchten, dass die echte „geschützte Ansicht“

ausgeschaltet ist, das ist eine andere Geschichte. Die Einstellungen für die geschützte Ansicht werden im Trust Center systemweise gesteuert. Sie können die Einstellungen folgendermaßen anzeigen:

  1. Zeigen Sie den Registerkarte Entwickler des Menübands an.

  2. Klicken Sie in der Gruppe Code auf Makrosicherheit. Excel zeigt das Dialogfeld Trust Center an.

  3. Klicken Sie links im Dialogfeld auf Geschützte Ansicht. (Siehe Abbildung 1.)

Die tatsächlich verfügbaren Einstellungen für die Schutzansicht hängen von der von Ihnen verwendeten Excel-Version ab. Wie bereits erwähnt, werden diese Einstellungen auf Systemebene gesteuert. Sie werden nicht arbeitbuchweise behandelt. Das Ergebnis ist, dass sie nicht durch Makrocode umgangen werden können. Wenn dies möglich wäre, würde ein System für den Code in einer geöffneten Arbeitsmappe vollständig anfällig sein. Wir wären zurück in die Zeit der Makroviren, die bei einigen früheren Versionen von Office-Produkten üblich waren.

Weitere Informationen zur Funktionsweise der Einstellungen für die geschützte Ansicht finden Sie auf dieser Microsoft-Website:

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

Ob eine Arbeitsmappe in der geschützten Ansicht geöffnet wird oder nicht, hängt von den Systemeinstellungen eines Benutzers ab. Dies bedeutet, dass die Kontrolle darüber, was geöffnet wird, vollständig dem einzelnen Benutzer überlassen bleibt und nicht von einem Arbeitsmappenautor „erzwungen“ werden kann. Es gibt jedoch Möglichkeiten, wie die Auswirkungen gemindert werden können, und sie haben mit Vertrauen zu tun. Beachten Sie, dass sich links im Dialogfeld „Vertrauensstellungscenter“ drei Einstellungen befinden, die dies in Bezug auf Arbeitsmappen steuern:

Vertrauenswürdige Herausgeber. * Arbeitsmappen von allen in diesem Bereich aufgeführten Herausgebern sind vertrauenswürdig und werden unter Umgehung der geschützten Ansicht direkt geöffnet.

Vertrauenswürdige Speicherorte. * Arbeitsmappen, die an den in diesem Bereich aufgeführten Speicherorten gespeichert sind, sind vertrauenswürdig und werden unter Umgehung der geschützten Ansicht direkt geöffnet.

Vertrauenswürdige Dokumente. * Einzelne in diesem Bereich angegebene Arbeitsmappen sind vertrauenswürdig und werden unter Umgehung der geschützten Ansicht direkt geöffnet.

Damit Ihre Arbeitsmappe die geschützte Ansicht umgehen kann, müssen Sie ein vertrauenswürdiger Herausgeber sein, die Arbeitsmappe muss an einem vertrauenswürdigen Speicherort gespeichert sein oder als vertrauenswürdiges Dokument auf dem System vermerkt sein.

Alle diese Einstellungen unterliegen wiederum der Kontrolle des Benutzers und können nicht über Makrocode geändert werden.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (12873) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.