Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei per VBA schreibgeschützt neu öffnen

Datei per VBA schreibgeschützt neu öffnen
04.11.2016 16:00:46
Bernd
Servus,
ich hab mal ne Interessensfrage an die Spezialisten hier.
Kann ich in ein AutoOpen-Makro eine Funktion einbauen, mit der ich den Schreibschutz der gleichen Datei für diese eine Sitzung setzen kann?
Wie könnte eine Prozedur lauten, die direkt beim Öffnen nach Lese- oder Schreibzugriff fragt und ggf. die Datei selbst neu mit dem gewählten Parameter öffnet?! Meine erste Idee funktioniert logischerweise nicht.

Private Sub Workbook_Open()
Datei = ThisWorkbook.FullName
Schreibschutz = MsgBox("Soll die Datei schreibgeschützt geöffnet werden?", vbYesNo)
If Schreibschutz = vbYes Then
Application.OnTime Now + TimeValue("00:00:10"), Workbook.Open(Datei), ReadOnly:= True
ThisWorkbook.Close false
' Datei schliessen und neu öffnen mit aktiviertem Schreibschutz...
End If
End Sub
Danke und Grüße, Bernd
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Als Anregung...
04.11.2016 16:15:06
Michael
Bernd,
...hier eine Möglichkeit, ohne die Datei neu zu öffnen:
Private Sub Workbook_Open()
Dim Check
Check = MsgBox("Mit Schreibschutz öffen?", vbYesNo, "Bitte wählen Sie...")
With ThisWorkbook
If Check = vbYes Then .ChangeFileAccess xlReadOnly
End With
End Sub
LG und schönes Wochenende
Michael
Anzeige
TOP Michael! Vielen Dank! owt
07.11.2016 10:36:51
Bernd
Aber gern doch! ;-) LG und owT
07.11.2016 10:42:50
Michael
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datei per VBA schreibgeschützt neu öffnen


Schritt-für-Schritt-Anleitung

Wenn Du eine Excel-Datei schreibgeschützt öffnen möchtest, kannst Du dies mit VBA umsetzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Projekt-Explorer die Arbeitsmappe aus, in der Du das Makro erstellen möchtest.

  3. Klicke doppelt auf DieseArbeitsmappe, um das Codefenster zu öffnen.

  4. Füge folgenden Code in das Codefenster ein:

    Private Sub Workbook_Open()
       Dim Datei As String
       Dim Schreibschutz As VbMsgBoxResult
    
       Datei = ThisWorkbook.FullName
       Schreibschutz = MsgBox("Soll die Datei schreibgeschützt geöffnet werden?", vbYesNo)
    
       If Schreibschutz = vbYes Then
           Application.OnTime Now + TimeValue("00:00:10"), "Workbooks.Open", , ReadOnly:=True
           ThisWorkbook.Close False
       End If
    End Sub
  5. Speichere die Arbeitsmappe als .xlsm, um die Makros zu aktivieren.

  6. Schließe den VBA-Editor und teste das Makro, indem Du die Datei erneut öffnest.


Häufige Fehler und Lösungen

  • Fehler: Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass Du die Datei als .xlsm gespeichert hast und dass Makros in Excel aktiviert sind.
  • Fehler: Datei öffnet sich nicht schreibgeschützt.

    • Lösung: Überprüfe den Code und stelle sicher, dass die Application.OnTime-Methode korrekt implementiert ist.

Alternative Methoden

Eine alternative Methode, um eine Excel-Datei schreibgeschützt zu öffnen, ohne sie neu zu laden, ist folgender VBA-Code:

Private Sub Workbook_Open()
    Dim Check As VbMsgBoxResult
    Check = MsgBox("Mit Schreibschutz öffnen?", vbYesNo, "Bitte wählen Sie...")

    If Check = vbYes Then
        ThisWorkbook.ChangeFileAccess xlReadOnly
    End If
End Sub

Dies ermöglicht es Dir, die Datei direkt im schreibgeschützten Modus zu öffnen, ohne sie erneut laden zu müssen.


Praktische Beispiele

Hier sind einige Beispiele, wie Du den Schreibschutz in unterschiedlichen Szenarien verwenden kannst:

  1. Für die Zusammenarbeit: Wenn mehrere Benutzer an einer Datei arbeiten, kannst Du sicherstellen, dass niemand versehentlich Änderungen vornimmt.
  2. Für Berichte: Berichte, die nicht bearbeitet werden sollen, können im schreibgeschützten Modus geöffnet werden, um die Integrität der Daten zu wahren.

Tipps für Profis

  • Fehlerbehandlung: Integriere On Error Resume Next in Deinen Code, um unerwartete Fehler zu vermeiden.
  • Benutzerfreundlichkeit: Füge eine klare Anleitung in der MsgBox hinzu, damit Benutzer wissen, was sie auswählen sollen.
  • Testen: Teste Deine Makros immer in einer Kopie der Datei, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich eine Excel-Datei nur lesend öffnen?
Du kannst eine Excel-Datei nur lesend öffnen, indem Du den Code mit ReadOnly:=True anwendest oder die ChangeFileAccess-Methode verwendest.

2. Was passiert, wenn ich die Datei schreibgeschützt öffne?
Wenn Du die Datei schreibgeschützt öffnest, kannst Du sie ansehen, aber keine Änderungen vornehmen. Dies ist besonders nützlich, um Datenintegrität zu gewährleisten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige