Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1344to1348
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
Inhaltsverzeichnis

Schreibschutz aufheben über Makro

Schreibschutz aufheben über Makro
27.01.2014 12:31:11
Werner
Hallo,
mit folgendem Code speichere ich eine Excel-Datei zwischen und lege dazu gleichzeitig noch eine Sicherungskopie in einem Verzeichnis an:
Public Sub Zwischenspeichern()
Dim Altname As String, Neuname As String, Pfad As String
Pfad = "C:\Users\Werner\Desktop\Werner\Excel"
ThisWorkbook.Save
Altname = ThisWorkbook.FullName
If Right$(Pfad, 1)  "\" Then Pfad = Pfad + "\"
Neuname = Pfad & "DatenBahnhof" & Worksheets("Dateneingabe").Range("J9").Value
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=Neuname
Workbooks.Open (Altname)
Application.DisplayAlerts = True
ThisWorkbook.Close
End Sub
Was hier abläuft ist mir klar, er speichert zunächst die Sicherungskopie, öffnet anschließend die Originaldatei, da Excel ja nach dem Speichern die Sicherungskopie offen lässt. So weit so gut.
Da die Originaldatei mit einem Kennwort schreibgeschützt ist blendet er jetzt die Eingabebox zum Eingeben des Kennwortes ein, was ja auch logisch ist. Gleichzeitig ist es aber auch lästig.
Lässt sich der Code dahingehend ändern, dass das Kennwort beim Öffnen der Originaldatei gleich über das Makro mit übergeben wird, so dass eine händische Eingabe nicht notwendig ist?
Danke für die Hilfe
Werner

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibschutz aufheben über Makro
27.01.2014 12:53:37
Bastian
Hallo Werner,
Workbooks.Open (Altname), Password:="abc"
Gruß, Bastian

AW: Schreibschutz aufheben über Makro
27.01.2014 15:35:46
Werner
Hallo Bastian,
das hatte ich schon probiert, funktioniert aber leider nicht. Obwohl ich das richtige Passwort drin habe öffnet sich die Box und fragt das Schreibschutzpasswort ab.
Gruß Werner

AW: Schreibschutz aufheben über Makro
27.01.2014 15:41:42
Rudi
Hallo,
speichere die Kopie mit der SaveCopyAs-Methode. Dann musst du das Original-WB nicht erneut öffnen.
Gruß
Rudi

AW: Schreibschutz aufheben über Makro
28.01.2014 11:21:31
Werner
Hallo Rudi,
danke, funktioniert so. Nur speichert er mit hier die Sicherungskopie mit Makros ab. Ich möchte aber, dass die Makros der Originaldatei nicht mit in die Sicherungskopie gespeichert werden. Ist das möglich?
Gruß Werner

Anzeige
AW: Schreibschutz aufheben über Makro
28.01.2014 13:44:28
Rudi
Hallo,
Nur speichert er mit hier die Sicherungskopie mit Makros ab.
bei mir nicht.
Gib mal die Dateiendung ".xlsx" explizit an.
Gruß
Rudi

AW: klappt leider nicht
29.01.2014 14:34:44
Werner
Hallo Rudi,
mein Code sieht jetzt so aus:
Public Sub Zwischenspeichern()
Dim Altname As String, Neuname As String, Pfad As String
Application.DisplayAlerts = False
Pfad = "P:\DRPRLB\DGRA\Sicherung"
ActiveWorkbook.Save
Altname = ThisWorkbook.FullName
If Right$(Pfad, 1)  "\" Then Pfad = Pfad + "\"
Neuname = Pfad & "DatenBahnhof" & Worksheets("Dateneingabe").Range("J9").Value & "xlsm"
ThisWorkbook.SaveCopyAs Filename:=Neuname
Application.DisplayAlerts = True
End Sub
Um deinem Einwand gleich vorzubeugen, ich weiß, dass er mit so die Datei mit Makros abspeichert.
Nehme ich die Dateiendung komplett raus, dann speichert er mir das Ganze als Datei ab, die ich nicht mehr öffnen kann.
Nehme ich als Datei-Endung ".xlsx" dann speichert er mir die Datei ab. Beim Öffnen meckert dann aber Excel, dass er die Datei nicht öffnen kann, weil das Dateiformat oder die Dateierweiterung nicht stimmen.
Mit der Dateiendung ".xls" speichert er mit die Datei ab, ich kann sie auch öffnen, Makros sind aber vorhanden.
Das Seltsame an der Geschichte ist jetzt folgendes. Ich habe die Datei auch schon "händisch" über Start/Speichern unter und dann als Excel-Datei ohne Makros abgespeichert. Es wird dann auch die Endung .xlsx vergeben, Makros werden aber trotzdem mit gespeichert.
Gruß Werner

Anzeige
AW: klappt leider nicht
29.01.2014 14:56:47
Rudi
Hallo,
ich hab leider nicht beachtet, dass man bei .SaveCopyAs kein Fileformat angeben kann.
so geht's ohne dass die Makros mit gespeichert werden:
Public Sub Zwischenspeichern()
Dim Altname As String, Neuname As String, Pfad As String
Application.DisplayAlerts = False
Pfad = "P:\DRPRLB\DGRA\Sicherung"
ThisWorkbook.Save
Altname = ThisWorkbook.FullName
If Right$(Pfad, 1)  "\" Then Pfad = Pfad & "\"
Neuname = Pfad & "DatenBahnhof" & Worksheets("Dateneingabe").Range("J9").Value
ThisWorkbook.SaveAs Filename:=Neuname, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
Workbooks.Open Filename:=Altname, Password:="test"
ThisWorkbook.Close
End Sub

Gruß
Rudi

Anzeige
AW: klappt leider nicht
29.01.2014 15:12:50
Werner
Hallo Rudi,
herzlichen Dank, genau das was ich gebraucht habe.
Gruß Werner

AW: klappt leider nicht
29.01.2014 15:55:39
Werner
Hallo Rudi,
leider doch nicht so ganz. Das mit dem Speichern im richtigen Format klappt jetzt -das war mir bei dieser Geschichte am wichtigsten-.
Leider kommt aber bei Start der Originaldatei wieder das Fenster zur Eingabe des Schreibschutzpasswortes.
Ist zwar etwas lästig aber damit lässt sich leben.
Werner

AW: klappt leider nicht
29.01.2014 16:58:43
Werner
Hallo Rudi,
hab die Lösung jetzt selbst gefunden.
Die CodeZeile muss lauten:
Workbooks.open Filename:=Altname, WriteResPassword:="1234"
Gruß Werner
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige