Passwortschutz automatisch bei Schließung der Exceldatei
#1
Hallo,

kann mir jemand einen VBA Code schreiben, wo bei Schließung der Exceldatei automatisch der Passwortschutz aktiviert wird.

Vielen Dank schon mal und Grüße

Diana
Antworten Top
#2
Hi,

schon der 2.Beitrag von Dir, so richtig hingerotzt aussieht.

Du weißt ja auch, dass ohne eine Routine, die den Schutz beim Öffnen aufhebt, die Datei nicht mehr bearbeitbar ist!?
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Vielen Dank für die freundlichen Worte. Aber ganz ehrlich weiß ich nicht, was ich wirklich falsch gemacht habe, außer das ich das erste Mal in so einem Forum bin. Sorry dafür! Ich habe das Problem, dass ich mehrere Dateien versenden muss und aus Datenschutzgründen ich immer ein Passwort eingeben muss. Es ist immer die selbe Datei die sich monatlich nur aktualisiert. Nun habe ich mir gedacht, ob es vielleicht eine Möglichkeit gibt das der Passwortschutz mit dem entsprechenden Passwort immer sich automatisch erstellt, damit ich es nicht immer manuell machen muss.

Viele Grüße

Diana
Antworten Top
#4
Hallo Diana,

was du falsch gemacht hast, kannst du hier nachlesen:
Wie man Fragen richtig stellt

Unabhängig davon ist das hier kein "Code Writing Service", sondern die meisten verstehen so ein Forum als Hilfe zur Selbsthilfe.

Nur mal so am Rande ...

Wenn du eine Excel Datei versenden möchtest, würde ich die empfehlen, daraus eine Zip-Datei zu erstellen und diese mit einen Passwort zu versehen. Das Empfangen von externen Excel-Dateien wird sehr häufig von Admins unterbunden und so umgehst du dieses Problem und brauchst dir keine Gedanken mehr darüber zu machen, wie der Passwortschutz der Excel Datei vom Empfänger aufgehoben werden soll.

Gruß Knobbi38
Antworten Top
#5
(08.04.2025, 14:52)Didi2025 schrieb: Hallo,

kann mir jemand einen VBA Code schreiben, wo bei Schließung der Exceldatei automatisch der Passwortschutz aktiviert wird.

Vielen Dank schon mal und Grüße

Diana

Hallo Diana,

ich probiere es mal anders. Ganz ohne VBA würde folgendes gehen: (keine Ahnung ob dir das schon reicht)

Datei Speichern unter (so dass das Explorer Fenster sich öffnet) --> Tools --> Allgemeine Optionen --> Kennwort zum Ändern und oder Kennwort zum Öffnen setzen

(08.04.2025, 15:44)BigJane schrieb: Hallo Diana,

ich probiere es mal anders. Ganz ohne VBA würde folgendes gehen: (keine Ahnung ob dir das schon reicht)

Datei Speichern unter (so dass das Explorer Fenster sich öffnet) --> Tools --> Allgemeine Optionen --> Kennwort zum Ändern und oder Kennwort zum Öffnen setzen

Nein vergiss es, das scheint sich beim Versenden nicht zu speichern, funktioniert nur beim lokalen Speicherort
Antworten Top
#6
Vielen lieben Dank. Aber ich habe kein Problem mit der Größe oder Öffnen der Exceldatei, sondern nur mit dem Datenschutz. Und da unsere Ressourcen sehr knapp bemessen sind, habe ich mir eine Erleichterung erhofft. Aber trotzdem vielen Dank für die Anmerkungen.

Viele Grüße

Diana
Antworten Top
#7
(08.04.2025, 15:49)Didi2025 schrieb: ... sondern nur mit dem Datenschutz.

Genau und deshalb der Hinweis auf Zip und Passwort!  Das sich dabei auch die Größe ändert, ist hier nur ein Nebeneffekt.

Das mit den knappen Ressourcen habe ich in dem Zusammenhang jetzt nicht verstanden.

Gruß
Knoobi38
Antworten Top
#8
(08.04.2025, 14:52)Didi2025 schrieb: Hallo,

kann mir jemand einen VBA Code schreiben, wo bei Schließung der Exceldatei automatisch der Passwortschutz aktiviert wird.

Vielen Dank schon mal und Grüße

Diana

"Meine" KI (Keine Intelligenz) hat mir beim zweiten Prompt einen lauffähigen Code geliefert.  
Code anbei, auf eigenes Risiko und frage "Deine" KI am besten vorher, wie Du ihn verwenden kannst

Code:
Imports Microsoft.Office.Interop.Excel
Imports System.Runtime.InteropServices

Module ExcelSaveWithPassword

    Sub Main()
        Dim excelApp As Application = Nothing
        Dim workbook As Workbook = Nothing

        Dim pfad As String = "d:\Tmp\abc.xlsx"

        Dim pwdOpen As String = "abc"
        Dim pwdEdit As String = "abc"

        Try
            ' Excel starten
            excelApp = New Application()
            excelApp.DisplayAlerts = False

            ' Arbeitsmappe öffnen
            workbook = excelApp.Workbooks.Open(pfad)

            ' Speichern unter – mit Passwort
            workbook.SaveAs(Filename:=pfad,
                            FileFormat:=XlFileFormat.xlOpenXMLWorkbook,
                            Password:=pwdOpen,
                            WriteResPassword:=pwdEdit)

            Console.WriteLine("Datei wurde erfolgreich mit Passwort gespeichert.")

        Catch ex As Exception
            Console.WriteLine("Fehler: " & ex.Message)
        Finally
            ' Aufräumen
            If workbook IsNot Nothing Then
                workbook.Close(False)
                Marshal.ReleaseComObject(workbook)
            End If

            If excelApp IsNot Nothing Then
                excelApp.Quit()
                Marshal.ReleaseComObject(excelApp)
            End If

            workbook = Nothing
            excelApp = Nothing
            GC.Collect()
            GC.WaitForPendingFinalizers()
        End Try
    End Sub

End Module
Antworten Top
#9
Hallo Warkings,

vielen Dank schon mal.

Viele Grüße

Diana
Antworten Top
#10
@Warkings

Zitat:"Meine" KI (Keine Intelligenz) hat mir beim zweiten Prompt einen lauffähigen Code geliefert.  
Code anbei, auf eigenes Risiko und frage "Deine" KI am besten vorher, wie Du ihn verwenden kanns

Deine KI kannst du gleich in die Tonne treten! Seit wann untertützt Excel VB.NET ?

Also zumindest das hätte dir bei deinem Vorschlag auffallen können.

Gruß
Knobbi38
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste