Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
Anzeige
Archiv - Navigation
1932to1936
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

Speichern unter gleichem Dateinamen

Speichern unter gleichem Dateinamen
10.06.2023 12:58:25
reiner

Hallo Leute,

https://www.herber.de/bbs/user/159527.xlsm
Hinweis: Beim Hochladen wurde die Datei in "159527.xlsm" umbenannt. Bitte diese Änderung im VBA-Editor, Modul "UserForm1" Zeile7 ab Spalte56 anpassen!!

Eine mit Dateiattribut"Schreibschutz EIN" versehene Datei wird geöffnet, bearbeitet und soll anschließend mit dem GLEICHEN Dateinamen erneut gespeichert werden.
Beim Speichervorgang wird das Dateiattribut"Schreibschutz EIN" durch "Schreibschutz AUS" ersetzt.
Wenn die daraufhin erscheinende Meldung: "DateiXXX.xlsm ist bereits vorhanden. Möchten Sie sie ersetzen? mit JA quittiert wird, erscheint die nächste Meldung mit dem Hinweis:"Laufzeitfehler 1004; Kann unter diesem Namen nicht speichern. Die Datei wurde schreibgeschützt geöffnet.
Das heißt für mich, dass die ursprünglich mit das Dateiattribut"Schreibschutz EIN" geöffnete Datei trotz mittlerweile deaktiviertem Schreibschutz die "interne" Information "mit Schreibschuz geöffnet" enthält.
Gibt es dennoch eine Möglichkeit diese "interne" Information zu deaktivieren und das Speichern unter GLEICHEM Dateinamen mit hinzugefügtem Dateiattribut"Schreibschutz EIN" zu ermöglichen?

mfG
reiner

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern unter gleichem Dateinamen
10.06.2023 13:50:47
Nepumuk
Hallo Reiner,

teste mal:

Private Sub cmdbeenden_Click()
    With ThisWorkbook
        Call SetAttr(PathName:=.FullName, Attributes:=vbNormal)
        .Saved = True
        If .ReadOnly Then Call .ChangeFileAccess(Mode:=xlReadWrite)
    End With
    With Application.FileDialog(fileDialogType:=msoFileDialogSaveAs)
        .FilterIndex = 2
        .InitialFileName = Left$(ThisWorkbook.FullName, _
            Len(ThisWorkbook.FullName) - 5) & Format$(Date, "yyyymmdd")
        If .Show Then
            Application.DisplayAlerts = False
            Call .Execute
            Application.DisplayAlerts = True
            Call SetAttr(PathName:=.SelectedItems(1), Attributes:=vbReadOnly)
            Call ThisWorkbook.ChangeFileAccess(Mode:=xlReadOnly)
        End If
    End With
End Sub
Gruß
Nepumuk


Anzeige
Korrektur
10.06.2023 14:12:57
Nepumuk
Hallo Reiner,

ich denke, so war es gemeint:

Private Sub cmdbeenden_Click()
    Dim strPath As String
    With ThisWorkbook
        strPath = .FullName
        Call SetAttr(PathName:=.FullName, Attributes:=vbNormal)
        .Saved = True
        If .ReadOnly Then Call .ChangeFileAccess(Mode:=xlReadWrite)
    End With
    With Application.FileDialog(fileDialogType:=msoFileDialogSaveAs)
        .FilterIndex = 2
        .InitialFileName = ThisWorkbook.Path & "\Dateiname " & Format$(Date, "yyyymmdd")
        If .Show Then
            Application.DisplayAlerts = False
            Call .Execute
            Application.DisplayAlerts = True
            Call SetAttr(PathName:=.SelectedItems(1), Attributes:=vbReadOnly)
            Call ThisWorkbook.ChangeFileAccess(Mode:=xlReadOnly)
        End If
        Call SetAttr(PathName:=strPath, Attributes:=xlReadOnly)
    End With
End Sub
Gruß
Nepumuk


Anzeige
AW: Korrektur
10.06.2023 14:23:03
reiner
Hallo Nepumuk,
die Korrekturversion läuft einwandfrei und wie gewünscht, dafür herzlichen Dank
Eine Frage bleibt noch: Wie kann das Dateiattribut "h" versteckt verhindert werden?

reiner


AW: Korrektur
10.06.2023 14:25:36
Nepumuk
Hallo Reiner,

das wird in meinem Code nicht gesetzt.

Gruß
Nepumuk


AW: Korrektur
10.06.2023 14:35:59
reiner
Hallo Nepumuk,

soweit ich den Programmcode nachvollziehen kann ist -wie du schreibst- nicht ersichtlich wieso dieses Attribut "h" gesetzt wird. Es ist aber vorhanden.
Dennoch vielen Dank für die Unterstützung

reiner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige