Anzeige
Archiv - Navigation
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schreibgschützt setzen/entfernen mit VBA

Schreibgschützt setzen/entfernen mit VBA
28.09.2006 22:15:43
MartinCH
Hallo Zusammen
Wieder mal ich.
Wir haben eine Datei die im Normalfall immer schreigeschützt geöffnet wird, nur wenn die Datei aktualisiert wird, muss sie ohne Schreibschutz geöffnet werden.
Habe es mit diesem Script versucht, es blieb aber beim Versuch (Fehlermeldung: Kann Eigenschaft nicht ändern)

Sub TestSchreibgeschütz_EIN_AUS()
ActiveWorkbook.ReadOnly = True
MsgBox "Schreibschutz aktiv!"
ActiveWorkbook.ReadOnly = False
MsgBox "Schreischutz deaktiviert"
End Sub

Ist es möglich die Eigenschaft zu ändern?
Wie muss der Script aufgebaut sein?
Oder kann ich die Datei per VBA schliessen und wieder öffnen als Readonly = false. Leider hatte mein Versuch dies zu machen fehlgeschlagen da das laufende Makro ebenfalls geschlossen wurde. Ist es möglich eine neue Datei zu öffnen ein Modul zu erstellen und dieses gleich lafen lassen? Natürlich alles mit VBA.
Danke für Hinweise oder Lösungen
Martin

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibgschützt setzen/entfernen mit VBA
28.09.2006 23:06:52
fcs
Hallo Martin,
mit folgendem Code kannst du eine Datei ohne Schreibschutz öffnen, die standardmäßig mit Schreibschutz geöffnet wird.

Sub Makro1()
'Sendet Tastenkombination <Alt>+n an das Dialogfenster zum Öffnen einer
'standardmäßig schreibgeschützt zu öffnenden Datei, so dass Datei ohne Schreibschutz geöffnet wird.
Application.SendKeys ("%n")
Workbooks.Open FileName:="C:\Test\MAPPE1.xls"
End Sub

Folgendes Makro ändert den Schreibschutzstatus der aktiven Datei:

Sub SchreibschutzEINAUS()
With ActiveWorkbook
If .ReadOnly = True Then
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite
Else
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
End If
End Sub

Gruß
Franz
Anzeige
AW: Schreibgschützt setzen/entfernen mit VBA
29.09.2006 07:18:45
MartinCH
Hallo Franz
Wow es geht tatsächlich. Musste nur noch ein wenig anpassen und es funktioniert bestens.

Sub SchreibschutzEINAUS()
With ActiveWorkbook
If .ReadOnly = True Then
'direkte Eingabe des Passworts ebenfalls möglich einfach Super!
ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite, WritePassword:="meinWort"
Else
ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly
End If
End With 'musste noch ergänzt werden
End Sub

Danke und Gruss
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige