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

Speicherabfrage

Speicherabfrage
14.11.2018 14:44:06
Thomas
Hallo Excelfreunde,
ich benutze das untenstehende Macro zum erstellen einer PDF.
Soweit funktioniert es schon. Ich möchte nur noch die Möglichkeit erhalten falls diese Datei schon vorhanden ist > Frage möchten Sie diese Datei überschreiben? Zur Zeit merke ich zwar das es diese Datei schon gibt aber dann wird das Makro nach dem Hinweis gleich beendet.
Kann mir jemand dabei helfen?
MFG Thomas
Sub AAAA_neu_pdf_erstellen()
On Error Resume Next
Dim varFilename As Variant
'"\Desktop\" & Range("A1")
varFilename = Application.GetSaveAsFilename( _
InitialFileName:=Sheets("Bekleidung").Range("ZZ1"), _
FileFilter:="PDF (*.pdf), *.pdf", _
Title:="als PDF speichern")
If Dir(varFilename) = "" Then
If varFilename False Then
ThisWorkbook.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=varFilename, _
OpenAfterPublish:=True, _
IgnorePrintAreas:=False
End If
Else
MsgBox "Die verwendete Rechnung ist bereits vorhanden. Bitte lösche erst die vorhandene oder vergebe ein neuen Namen"
End If

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicherabfrage
14.11.2018 17:43:21
Karl-heinz
Hallo Thomas,
hier mal ein neuer Ansatz:
Sub AAAA_neu_pdf_erstellen()
Dim varFilename As String, i As Integer
On Error Resume Next
Nochmal:
varFilename = Application.GetSaveAsFilename( _
InitialFileName:=Sheets("Bekleidung").Range("A1"), _
FileFilter:="PDF (*.pdf), *.pdf", _
Title:="als PDF speichern")
If Dir(varFilename)  "" Then
i = MsgBox("Die verwendete Rechnung ist bereits vorhanden." & vbCrLf & vbCrLf _
& "Soll sie gelöscht und gespeichert werden?" & vbCrLf & vbCrLf _
& "Ansonsten vergebe einen neuen Namen!", vbYesNoCancel Or vbCritical, "PDF-Datei speichern" _
)
If i = vbCancel Then Exit Sub
If i = vbNo Then GoTo Nochmal
Kill varFilename
End If
ThisWorkbook.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=varFilename, _
OpenAfterPublish:=True, _
IgnorePrintAreas:=False
End Sub
Den Variablentyp für varFilename würde ich nicht als Variant declarieren. string ist hier eindeutiger.
Dann ggf. die Abfrage vor dem Exportieren platzieren, damit der User die Wahl hat.
Die Kill-Anweisung kann ggf. auch entfallen, falls die Export-Anweisung ohne weitere nachfrage überschreibt. Hab ich nicht getestet.
viele Grüße
Karl-Heinz
Anzeige
besten Dank an Karl-heinz Voltmann und onur
14.11.2018 18:37:23
Thomas
Hallo Karl-heinz Voltmann und onur,
beide Versionen funktionieren super. Auch die Idee von Karl-heinz Voltmann ist natürlich auch cool.
Es ist immer wieder faszinierend was Ihr hier so hinzaubert. Ich habe stunden versucht da was zu bauen.
Habt vielen vielen dank.
MFG Thomas
AW: Speicherabfrage
14.11.2018 17:50:29
onur
Probiere mal (ungetestet)

Sub AAAA_neu_pdf_erstellen()
'On Error Resume Next
Dim varFilename As Variant
'"\Desktop\" & Range("A1")
varFilename = Application.GetSaveAsFilename( _
InitialFileName:=Sheets("Bekleidung").Range("ZZ1"), _
FileFilter:="PDF (*.pdf), *.pdf", _
Title:="als PDF speichern")
If Dir(varFilename) > False Then
ThisWorkbook.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=varFilename, _
OpenAfterPublish:=True, _
IgnorePrintAreas:=False
End If
End If

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige