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

Dateinamen aus Zellen, nur bei erster Speicherung

Dateinamen aus Zellen, nur bei erster Speicherung
23.03.2019 18:24:05
Bernhard
Liebe VBA-Experten,
Ich habe eine schreibgeschützte Datei, die als eine Art Eingabemaske dient.
Beim allerersten Speichern und nur dann, soll der Name aus den Werten dreier Zellen gebastelt werden (DP1, DQ1, DR1). Im Forum habe ich mich belesen und auch herausgefunden, wie das geht.
In "ThisWorkbook" habe ich meine Lösung in eine BeforeSave Anweisung geschrieben (s.u., gekürzte Darstellung ohne Deklaration).
Mein Problem ist, dass ich insgesamt wenig Ahnung und schon gar keine von der Ablaufsteuerung habe.
Beim Speichern erscheint nun, wie zu erwarten, der Hinweis, dass ein anderer Speichername gewählt werden muss und dann kommt tatsächlich der gewünschte, aus den o.g. Zellen generierte Namensvorschlag.
Die Datei lässt sich aber so nicht speichern. Nach Abrechen kommt der "Kopie von ..." Vorschlag.
Kann mir jemand weiterhelfen ?
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If wks1.Cells(5, 59) = 1 Then
'Wert der Zelle ist primär 0. Dient zur Prüfung, ob die Datei jemals gespeichert wurde
GoTo schongespeichert:
End If
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show ("TP-" & wks1.Range("DP1") & "-" & wks1.Range("DQ1") &  _
"-" & wks1.Range("DR1") & ".xlsm")
Application.EnableEvents = True
wks1.Cells(5, 59) = 1
schongespeichert:
End Sub

Vielen Dank an diejenigen, die sich damit auseinandersetzen mögen.
Bernhard

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen aus Zellen, nur bei erster Speicherung
23.03.2019 19:25:11
AlterDresdner
Hallo Bernhard,
ich denke, so ist es übersichtlicher:
Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Newname, wks1
Set wks1 = ThisWorkbook.Sheets(1) 'habe ich mal so angenommen
If wks1.Cells(5, 59) = 1 Then Exit Sub
'Wert der Zelle ist primär 0. Dient zur Prüfung, ob die Datei jemals gespeichert wurde
Newname = "TP-" & wks1.Range("DP1") & "-" & wks1.Range("DQ1") & "-" & _
wks1.Range("DR1") & ".xlsm"
Newname = Application.GetSaveAsFilename(Newname, _
"Microsoft-Exceldateien mit Makros (*.xlsm), *.xlsm", 2)
Application.EnableEvents = False
If TypeName(Newname) = "String" Then
wks1.Cells(5, 59) = 1
ThisWorkbook.SaveAs Newname
Else 'Abbrechen geklickt
Cancel = True
End If
Application.EnableEvents = True
End Sub

Gruß der Martin
Anzeige
AW: Dateinamen aus Zellen, nur bei erster Speicherung
23.03.2019 23:19:00
Bernhard
Hallo Martin,
das werde ich ausprobieren. Die neuen Befehle muss ich nachlesen, damit ich das auch gedanklich durchdringe.
Vielen Dank !
Gruß Bernhard

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige