Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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

VBA Kopie anlegen und Blattschutz

VBA Kopie anlegen und Blattschutz
15.09.2021 10:46:47
Martin
Hallo zusammen,
ich habe folgendes Problem.
Ich möchte von meiner Excel-Datei, die aus mehreren Tabellenblättern besteht, beim schließen automatisch eine Kopie in einem anderen Laufwerk ablegen und für alle Tabellenblätter den Blattschutz aktivieren, noch besser wäre, wenn diese Datei nur noch Leseberechtigt geöffnet werden kann.
Die Kopie soll einen anderen Namen bekommen bzw. den Zusatz „Kopie“.
Außerdem soll, wenn die Kopie der Datei geöffnet wird, keine weitere Kopie angelegt werden.
Also z.b.
Beispiel.xlsm Kopie beim schließen in anderem Laufwerk ablegen und Blattschutz aktivieren
Kopie_Beispiel.xlsm keine weitere Kopie ablegen, nur mit Leseberechtigung öffnen
Vielen Dank schon mal!
Martin

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 11:38:02
Nepumuk
Hallo Martin,
in das Modul "DieseArbeitsmappe":

If Not Saved Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
"' gespeichert werden", vbExclamation Or vbYesNoCancel)
Case vbYes
Save
Case vbNo
Saved = True
Case vbCancel
Cancel = True
End Select
End If
If Not Cancel Then
Application.DisplayAlerts = False
Call SaveAs(Filename:="H:\Rom\Kopie_" & Left$(Name, InStrRev(Name, ".")) & "xlsx", _
FileFormat:=xlOpenXMLWorkbook, WriteResPassword:="GEHEIM")
Application.DisplayAlerts = True
End If
End Sub
Du musst noch den Pfad und das Schreischutzkennwort anpassen!
Gruß
Nepumuk
Anzeige
OT: lol
15.09.2021 12:11:28
Klaus
Hallo Nepumuk,
für meinen kleinen, gerade 4 Jahre, hätte ich auch gerne ein Schreischutzkennwort :-)
LG,
Klaus M.
AW: OT: lol
15.09.2021 12:14:19
Oberschlumpf
Hi Klaus,
versuch es mit
NUCKEL
:-)))
Keine Garantie auf Erfolg! ;-)
Ciao
Thorsten
AW: OT: lol
15.09.2021 12:16:08
Nepumuk
Hallo Klaus,
du musst nur diesen Stampler kaufen:
Userbild
Gruß
Nepumuk
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 12:30:18
Martin
Hallo Nepumuk,
funktioniert das ganze auch ohne Abfrage/ Msg Box?
Optimal wäre es wenn, beim schließen der Datei „Beispiel.xlsm“ ohne weitere Abfrage/Bestätigung die Datei am ursprünglichen Speicherort die vorhandene Datei „Beispiel.xlsm“ überschreibt/aktualisiert und gleichzeitig eine Kopie mit dem Namen „Kopie_Beispiel.xlsm“ in einem anderen Speicherort abgelegt wird. Bei beiden Dateien soll der Blattschutz aktiviert werden.
Die Datei „Kopie_Beispiel.xlsm“ soll nur mit Leserrechten geöffnet werden können und soll beim schließen nicht gespeichert werden.
Die originale Datei enthält einige VBA Codes, weis nicht ob das relevant ist.
Grüße,
Martin
Anzeige
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 14:54:53
Martin
Hallo zusammen,
der Vorschlag Nepumuk funktioniert soweit schon sehr gut!
Vielen Dank dafür!
Jetzt habe ich das nächste Problem entdeckt an das ich vorher nicht gedacht habe.
Nicht alle Nutzer der original Datei haben Zugriff auf das Laufwerk auf dem die Kopie gespeichert werden soll. Das führt bei diesen Kollegen*innen zu einer Fehlermeldung.
Kann man da vorher prüfen ob eine Verbindung zum Laufwerk auf dem die Kopie gespeichert werden soll besteht? Oder ohne eine Kopie anzulegen zu beenden?
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 15:07:33
Nepumuk
Hallo Martin,
teste mal:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Const FOLDER_PATH As String = "H:\Rom\" 'Anpassen !!! Backslash am Ende nicht löschen !!!
If Not Saved Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
"' gespeichert werden", vbExclamation Or vbYesNoCancel)
Case vbYes
Save
Case vbNo
Saved = True
Case vbCancel
Cancel = True
End Select
End If
If Not Cancel Then
If Dir$(FOLDER_PATH, vbDirectory)  vbNullString Then
Application.DisplayAlerts = False
Call SaveAs(Filename:=FOLDER_PATH & "Kopie_" & Left$(Name, InStrRev(Name, ".")) & "xlsx", _
FileFormat:=xlOpenXMLWorkbook, WriteResPassword:="GEHEIM")
Application.DisplayAlerts = True
End If
End If
End Sub
Gruß
Nepumuk
Anzeige
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:12:37
Martin
Hallo Nepumuk,
ich habe es versucht, aber wenn keine Verbindung zum Laufwerk auf dem die Kopie gespeichert werden soll besteht, dann kommt ein Laufzeit Fehler und der Debugger springt in die Zeile
„ If Dir$(FOLDER_PATH, vbDirectory) vbNullString Then“
Was mach ich was falsch?
Grüße
Martin
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:15:21
Martin
Gehört in die zweite Zeile des Codes der Pfad der Kopie oder des Originals?
Das Original liegt in Teams bzw. SharePoint.
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:16:25
Martin
Gehört in die zweite Zeile des Codes der Pfad der Kopie oder des Originals?
Das Original liegt in Teams bzw. SharePoint.
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:21:19
Nepumuk
Hallo Martin,
da kommt der Pfad zur Kopie rein.
Gruß
Nepumuk
Anzeige
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:19:52
Nepumuk
Hallo Martin,
ich kenne deinen Pfad nicht. Bei mir funktioniert das wenn ich einen Laufwerksbuchstaben angebe der nicht auf meinem Rechner existiert.
Gruß
Nepumuk
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:41:34
Martin
Hallo Nepumuk,
kann es sein dass es daran liegt, dass es mir am Rechner den Laufwerkbuchstaben auch dann anzeigt, auch wenn ich keine aktive Verbindung zum Netzwerk habe? Und es dadurch zu einem Laufzeitfehler kommt?
Wie gesagt das Original liegt auf Teams bzw SharePoint und die Kopie geht auf ein Laufwerk des Firmennetzwerks . Zu diesem Firmennetzwerk besteht aber nicht immer eine Verbindung.
Grüße,
Martin
Anzeige
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:48:08
Nepumuk
Hallo Martin,
sorry, aber da kann ich dir nicht weiter helfen. Von SharePoint habe ich keine Ahnung.
Ich lass die Frage offen.
Gruß
Nepumuk
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 16:54:45
Martin
Hallo Nepumuk,
Vielen vielen Dank! Du hast mir heute schon sehr viel geholfen.
Vielleicht stolpert ja noch hier jemand drüber, der mir beim letzten Schritt zur Perfektion auch noch helfen kann.
Viele Grüße,
Martin
AW: VBA Kopie anlegen und Blattschutz
15.09.2021 18:03:41
Martin
Hallo Nepumuk,
Vielen vielen Dank! Du hast mir heute schon sehr viel geholfen.
Vielleicht stolpert ja noch hier jemand drüber, der mir beim letzten Schritt zur Perfektion auch noch helfen kann.
Viele Grüße,
Martin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige