Hallo
ich möchte ein Tabellenblatt per Makro in eine pdf Datei speichern. Ich dafür ein Makro gegooglet, das sehr gut funktioniert. Nur habe ich ein Problem, dass es nur warnt, wenn die Datei schon vorhanden ist aber die Datei nicht überschreiben lässt.
Win7 / Excel 2010
Sub Rechnungspeichern()
Dim oFSO As Object
Dim bFileExists As Boolean
Set oFSO = CreateObject(„Scripting.FileSystemObject“)
dateiname = „C:\Users\Xaver\Documents\Excel“ & Range(„A1“).Value
Do
exportname = Application.GetSaveAsFilename(dateiname, „PDF-Dateien (*.pdf), *.pdf“, , „PDF-Export“, „PDF-Export“)
bFileExists = oFSO.FileExists(exportname)
If bFileExists Then MsgBox („Die Datei existiert bereits bitte wählen Sie einen anderen Namen“)
Loop Until Not bFileExists
If exportname False Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=exportname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
SendKeys „{ENTER}“
End If
End Sub
Was kann ich die ändern MsgBox in vbYesCancel das Überschreiben bzw. Abbrechen rückfragt?
Besten Dank für Eure Hilfe
Xaver
ich möchte ein Tabellenblatt per Makro in eine pdf Datei
speichern. Ich dafür ein Makro gegooglet, das sehr gut
funktioniert. Nur habe ich ein Problem, dass es nur warnt,
wenn die Datei schon vorhanden ist aber die Datei nicht
überschreiben lässt.
Win7 / Excel 2010
Hallo Xaver,
vllt. so:
Option Explicit
Sub Rechnungspeichern()
Dim oFSO As Object, bFileExists As Boolean, Dateiname As String, Exportname As String
Dim Nachfrage As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Dateiname = "C:\Users\Xaver\Documents\Excel\" & Range("A1").Value
Do
Exportname = Application.GetSaveAsFilename \_
(Dateiname, "PDF-Dateien (\*.pdf), \*.pdf", , "PDF-Export", "PDF-Export")
bFileExists = oFSO.FileExists(Exportname)
If bFileExists Then Nachfrage = MsgBox("Die Datei existiert bereits " & vbLf & \_
"bitte wählen Sie einen anderen Namen", vbAbortRetryIgnore + vbCritical \_
+ vbDefaultButton2, "Nachfrage")
If Nachfrage = vbAbort Then Exit Sub
If Nachfrage = vbIgnore Then bFileExists = False
Loop Until Not bFileExists
If Exportname "" Then
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Exportname, \_
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, \_
OpenAfterPublish:=False
SendKeys "{ENTER}"
End If
End Sub
Gruß
Reinhard