Microsoft Excel

Herbers Excel/VBA-Archiv

Öffnen: Kennwortabfr. obwohl kein Kennwort vergeb. | Herbers Excel-Forum


Betrifft: Öffnen: Kennwortabfr. obwohl kein Kennwort vergeb. von: Ben
Geschrieben am: 30.07.2012 14:43:38

Hallo liebe Foraner,

ich habe eine *.xlsm-Datei (Format "Arbeitsmappe mit aktivierten Makros" von Excel 2007), die ein Blattschutzkennwort und ein Arbeitsmappenkennwort hat.
Ich bediene den SaveAs-Dialog bereits mit einigen vorbestimmten Parametern:

  • Dateiname (zusammengesetzt aus verschiedenen Parametern),

  • Dateiformat=52 und

  • Passwort="" (da Excel 2003 sonst das Arbeitsmappenschutzkennwort als Passwort verwendet).


  • Die entsprechende Code-Zeile sieht wie folgt aus:
    If .Show(Dateiname, 52, "") = False Then GoTo Weiter_1

    Dass Passwort für die Arbeitsmappe wird durch obigen Makro-Code auf LEER gesetzt.

    Wenn ich diese abgespeicherte Exceldatei nun in Excel 2003 öffne, werde ich nach einem Passwort gefragt. In dem Dialogfenster "Kennwort" mit dem Text "'(Dateiname steht hier)' ist geschützt. Kennwort:" habe ich ein Eingabefeld für das Kennwort und die Buttons "OK" und "Abbrechen".
    In dieses Eingabefeld für das Kennwort kann ich nun eintragen was ich will! Die Datei wird immer zum bearbeiten geöffnet.
    Dass die Datei zum Bearbeiten geöffnet wird, ist kein Problem, so soll das ja auch sein - aber warum dann diese sinnlose abfrage eines Kennworts, das es nicht gibt!?!

    Wie kann ich das unterbinden?

    Vielen Dank für eure Hilfe!
    Liebe Grüße, Ben

      

    Betrifft: AW: Öffnen: Kennwortabfr. obwohl kein Kennwort vergeb. von: fcs
    Geschrieben am: 30.07.2012 22:26:25

    Diese Frage hat sich wohl erledigt.
    siehe hier
    https://www.herber.de/forum/messages/1273098.html

    Franz


      

    Betrifft: AW: Öffnen: Kennwortabfr. obwohl kein Kennwort vergeb. von: Ben
    Geschrieben am: 31.07.2012 09:05:53

    Hallo Franz,

    danke wieder für deine schnelle Antwort.
    Ich stimme dir zu, dass die Treads eine gewisse Ähnlichkeit haben. Aber in dem von dir angeführten Tread ging es darum, wie man eine Passwortvergabe beim Speichern unterbinden kann. Das habe ich inzwischen gelöst (siehe die Codezeile in diesem Tread hier).
    Die Frage dieses Beitrags hingegen dreht sich darum, weshalb Excel den "Kennwort"-Dialog beim Öffnen einer Datei abfragt, obwohl kein Kennwort vergeben ist!
    Oder hängt das irgendwie zusammen?! >könnte ja auch sein<

    Liebe Grüße, Ben
    Und danke für eure Hilfe!


      

    Betrifft: mehr Code? owT von: Rudi Maintaire
    Geschrieben am: 31.07.2012 17:02:27




      

    Betrifft: Hier der gesamte Code! von: Ben
    Geschrieben am: 01.08.2012 08:57:56

    Hallo Rudi,

    Hier der gesamte Code.
    Er gibt erst die Variablen, prüft dann, ob sich die Variable "Dateiname" geändert hat und speichert dann die Datei entweder oder ruft - bei neuem Dateinamen - den Saveas-Dialog auf (natüclich je nach Excel-Version wird der SaveAs-Dialog anders belegt.
    Und Excel 2003 fragt eben ein leeres Kennwort ab, wenn die Datei zuvor mit Excel 2003 gespeichert wurde. Das passiert aber nicht, wenn die Datei zuvor statt mit Excel 2003 mit 2007 gespeichert wurde.

    Gruß, Ben

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
       
       'Vorbelegung Dateiname und Dateityp beim Speichern
       Dim Komponententyp As String
       Dim Kunde As String
       Dim Auftragsnummer As String
       Dim Revision As String
       Dim Dateiname As String
       Dim Serialnummern As String
       
       'Variablen zur Benennung des Dateinamens bestimmen
       If Sheets("Data-Sheet source").Range("E84").Value = "" Then
            Serialnummern = "xxxxx"
            Else
            Serialnummern = Sheets("Data-Sheet source").Range("E84")
       End If
       Komponententyp = Sheets("Data-Sheet source").Range("N84")
       Kunde = Sheets("Data-Sheet source").Range("J84")
       Auftragsnummer = Sheets("Data-Sheet source").Range("R84")
       Revision = Application.WorksheetFunction.Max(Sheets("Data-Sheet source").Range("X3:X125"))
       Dateiname = Serialnummern & "_" & Komponententyp & "_" & Auftragsnummer & "_" & Kunde _
           & "_Rev. " & Revision & ".xlsm"
       
       
       'Speichern-Unter-Dialog öffnen, falls Datei neu angelegt werden muss bzw. verändert wurde
        If ThisWorkbook.Name <> Dateiname Then
            If SaveAsUI = True Then
                If Me.Path = "" Then 'xlmt-Datei wurde via Datei-->Neu als neue Datei angelegt
                    Cancel = True
                    Application.EnableEvents = False
                    Select Case Val(Left(Application.Version, 2))
                        'Excel 97 bis Excel 2003
                        Case Is < 12
                            With Application.Dialogs(xlDialogSaveAs)
                                If .Show(Dateiname, 52, "") = False Then GoTo Weiter_1
                            End With
                        'Excel 2007 oder höher
                        Case Else
                            Application.Dialogs(xlDialogSaveAs).Show (Dateiname), 52
                    End Select
    Weiter_1:
                    Application.EnableEvents = True
                End If
            Else
                Cancel = True
                Application.EnableEvents = False
                Select Case Val(Left(Application.Version, 2))
                    'Excel 97 bis Excel 2003
                    Case Is < 12
                        With Application.Dialogs(xlDialogSaveAs)
                        If .Show(Dateiname, 52, "") = False Then GoTo Weiter_2
                        End With
                    'Excel 2007 oder höher
                    Case Else
                        Application.Dialogs(xlDialogSaveAs).Show (Dateiname), 52
                End Select
    Weiter_2:
                Application.EnableEvents = True
            End If
       End If
       
    End Sub



    Beiträge aus den Excel-Beispielen zum Thema "Öffnen: Kennwortabfr. obwohl kein Kennwort vergeb."