Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei Speichern mit Schreibschutz

Datei Speichern mit Schreibschutz
Klaus
Hallo zusammen!
Ich hab mich schon fast dumm und dämlich gesucht, nun frag ich mal hier rein bevors bei mir zu spät ist.
Ich möchte eine Excel-Datei speichern unter einem gewissen Namen. Außerdem soll diese Datei schreibgeschützt sein (das Schreibschützen, das man im Explorer - re. Maustaste - Eigenschaften - "Schreibgeschützt" findet).
Und zwar habe ich bereits diesen Code zum Speichern unter meinem definierten Namen, hab aber keine Ahnung wie ich da noch was einbinden soll.
Datum = Format(Now, "YYYYMMDD-hhmm")
pfad = "O:\Allgem\"
datei = "Arb" & "_" & Year(Date) & "-" & "KW" & DINKW(Date) & "_" & Datum & ".xls"
Set dialog = Application.FileDialog(msoFileDialogSaveAs)
With dialog
.InitialFileName = pfad & datei
.Show
End With
If dialog False Then dialog.Execute
Da gibts ja dieses Readonlyrecommendet... möglicherweise geht das auch, lieber wär mir aber das mit dem Hakerl.
Vielen Dank!
Klaus
Anzeige
AW: Datei Speichern mit Schreibschutz
27.09.2010 15:18:30
mumpel
Hallo!
"Das mit dem Hakerl" ist ein Systemattribut, welches sich nicht per "SaveAs"-Methode setzen lässt, da "SaveAs" dieses nicht vorsieht.
Gruß, René
AW: Datei Speichern mit Schreibschutz
27.09.2010 17:17:23
Klaus
Hmmm... ok, dachte ich schon irgendwie.
Wie kann ich dann in meinen Code unten das "ReadOnlyRecommended:=True" einbauen?
Habs nicht hinbekommen.
Vielen Dank und auch einen Gruß,
Klaus
Anzeige
AW: Datei Speichern mit Schreibschutz
27.09.2010 18:24:46
mumpel
AW: Datei Speichern mit Schreibschutz
28.09.2010 07:31:36
Klaus
Hallo,
super, dankeschön!
Eine Kleinigkeit hätt ich aber noch: kann man das irgendwie abstellen dass das Programm, wenn man auf Abbrechen drückt, nicht automatisch unter dem Namen "Falsch.xls" speichert?
Hab schon probiert mit else: Exit Sub, aber das funzt nicht.
Es soll nichts passieren wenn Abbrechen gedrückt wird.
Hier noch mein Code:
pfad = "O:\Allgem\Arbei..."
datei = "Arbeit" & "_" & "KW" & ".xls"
Dim strPathName As String
strPathName = Application.GetSaveAsFilename(pfad & datei, "Microsoft Excel-Dateien (*.xls),*.xls")
If strpath "Falsch" Then ActiveWorkbook.SaveAs Filename:=strPathName, ReadOnlyRecommended:=True
Anzeige
AW: Datei Speichern mit Schreibschutz
28.09.2010 10:41:04
mumpel
If strPathName = "Falsch" Then Exit Sub
AW: Datei Speichern mit Schreibschutz
28.09.2010 10:55:25
Klaus
Hallo,
jetzt ist mir erst aufgefallen dass im Ursprungscode von dir unten nur "strpath" statt "strpathname" stand (ich denke das war ein Tippfehler.. außer es hatte irgendeinen Zweck).
Schaut für mich so aus als obs deswegen bei mir nicht geklappt hat. Jetzt klappts!
Vielen vielen lieben Dank nochmal!!!
Klaus
Anzeige
AW: Datei Speichern mit Schreibschutz
28.09.2010 11:24:13
mumpel
Hoppla! ;-) Hab ich übersehen. Die Zeile stammt aus einer anderen Testvariante. Hab nur vergessen anzupassen.
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei mit Schreibschutz speichern


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei schreibgeschützt zu speichern, kannst Du den SaveAs-Befehl in VBA nutzen und das Argument ReadOnlyRecommended auf True setzen. Hier ist ein Schritt-für-Schritt-Guide:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub SpeichereSchreibgeschuetzteDatei()
    Dim Datum As String
    Dim pfad As String
    Dim datei As String
    Dim dialog As FileDialog

    Datum = Format(Now, "YYYYMMDD-hhmm")
    pfad = "O:\Allgem\"
    datei = "Arb_" & Year(Date) & "-KW" & DINKW(Date) & "_" & Datum & ".xls"

    Set dialog = Application.FileDialog(msoFileDialogSaveAs)
    With dialog
        .InitialFileName = pfad & datei
        .Show
    End With

    If dialog.SelectedItems.Count > 0 Then
        ActiveWorkbook.SaveAs Filename:=dialog.SelectedItems(1), ReadOnlyRecommended:=True
    End If
End Sub
  1. Führe das Makro aus, um die Datei schreibgeschützt zu speichern.

Häufige Fehler und Lösungen

  • Fehler: Abbrechen speichert als "Falsch.xls"

    • Lösung: Stelle sicher, dass Du den richtigen Code verwendest, um den Speicherprozess abzubrechen. Nutze If strPathName = "Falsch" Then Exit Sub um zu verhindern, dass die Datei fälschlicherweise gespeichert wird.
  • Fehler: Die Datei wird nicht schreibgeschützt gespeichert

    • Lösung: Überprüfe, ob das Argument ReadOnlyRecommended:=True korrekt in den SaveAs-Befehl eingebaut ist.

Alternative Methoden

Eine alternative Methode zum Schützen einer Excel-Datei ist die Verwendung der integrierten Excel-Funktion „Arbeitsmappe schützen“. Hier kannst Du auch ein Passwort festlegen. Um eine Excel-Tabelle schreibzuschützen, gehe zu:

  1. Überprüfen > Blatt schützen.
  2. Wähle die gewünschten Optionen und lege ein Passwort fest.

Wenn Du die Datei als PDF speichern möchtest, kannst Du dies ebenfalls tun:

  1. Gehe zu Datei > Speichern unter.
  2. Wähle PDF und aktiviere die Option „Schreibgeschützt speichern“.

Praktische Beispiele

Hier sind einige praktische Beispiele für das Speichern einer schreibgeschützten Excel-Datei:

  • Speichern mit benutzerdefiniertem Dateinamen:
datei = "DeinDateiname_" & Format(Now, "YYYYMMDD") & ".xls"
  • Speichern in einem anderen Format:
ActiveWorkbook.SaveAs Filename:="DeinDateiname.pdf", FileFormat:=xlPDF

Tipps für Profis

  • Nutze VBA-Fehlerbehandlung (On Error Resume Next), um potenzielle Fehler beim Speichern zu vermeiden.
  • Teste den Code in einer sicheren Umgebung, um versehentliche Datenverluste zu vermeiden.
  • Berücksichtige, dass das Setzen des Schreibschutzes über das Dateisystem (z.B. Windows Explorer) nicht über VBA erfolgt.

FAQ: Häufige Fragen

1. Wie kann ich eine Excel-Datei schreibgeschützt speichern, ohne dass der Benutzer benachrichtigt wird? Du kannst das Argument ReadOnlyRecommended auf False setzen, aber dann wird die Datei nicht als schreibgeschützt empfohlen.

2. Kann ich den Schreibschutz auch für bestehende Dateien aktivieren? Ja, öffne die Datei und verwende die Funktion „Arbeitsmappe schützen“ unter dem Tab „Überprüfen“.

3. Was passiert, wenn ein Benutzer die Datei öffnet und sie bearbeitet? Wenn die Datei als „Schreibgeschützt empfohlen“ gespeichert wurde, können Benutzer den Schreibschutz ignorieren und Änderungen vornehmen, wenn sie dies wünschen.

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