Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Exceldatei als .pdf speichern ohne .xls im Namen

Exceldatei als .pdf speichern ohne .xls im Namen
02.03.2014 18:41:11
Klaus
Hallo,
ich hab folgendes Problem. Das Makro welches das pdf Add-On für Office 2007 aufruft
' PDF Datei erstellen
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Dateiname, _
Quality:=xlQualityMinimum, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=True, _
OpenAfterPublish:=False
speichert mir die Datei unter dem Namen der Mappe. Allerdings steht im Dateinamen am Ende ein .xls
Also z.B. 123_Mappe.xls
Nur der Dateiname ist betroffen, es kommt eine PDF-Datei bei dem Makro raus.
Wie kann man verhindern, dass das .xls im Dateinamen steht?

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Exceldatei als .pdf speichern ohne .xls im Namen
02.03.2014 21:09:16
Mike
Versuche es mal mit:
Dateiname = Left(ActiveWorkbook.Name, InStr(1, ActiveWorkbook.Name, ".") - 1) & ".pdf"
Diese Zeile sollte als Definition vor der Anweisung Filename kommen.

AW: Funktioniert! Herzlichen Dank für die Hilfe!
02.03.2014 21:37:16
Klaus
Danke!

Datei.als.pdf.xls <-was kommt da wohl bei raus
02.03.2014 21:48:31
Matthias
Hallo
Bitte nur als Hinweis verstehen!
Ich möchte Mike seine Hilfe nicht untergraben!
InStrRev wäre aber da eher die richtigere Wahl.
Nicht! nach dem ersten Punkt suchen, sondern nach dem Letzten.
Denn Punkte im Dateinamen sind ja erlaubt.
Außerdem müssen Daten vorhanden sein, sonst bekommst Du einen VBA-Laufzeitfehler,
das keine Daten zum Drucken vorhanden sind.
Gruß Matthias

Anzeige
AW: Exceldatei als .pdf speichern ohne .xls im Namen
02.03.2014 21:47:28
Uwe
Hallo,
Sub PDF_Export_Mappe()
'Mappe als PDF in definiertem Verzeichnis speichern.         *
'Anwendbar ab EXCEL 2007                                     *
Dim DatName As String
Dim Pfad As String
Dim strDat As String
On Error GoTo Fin
Application.DisplayAlerts = False
Pfad = "c:\DeinPfad\"         'Pfad anpassen
DatName = Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".") - 1) & ".pdf"    'Name der  _
Mappe als Dateiname
strDat = Pfad & DatName
If Dir(strDat)  "" Then
If MsgBox(DatName & ".pdf" & " existiert schon!" & vbCrLf & vbCrLf _
& DatName & ".pdf überschreiben?", vbYesNo) = vbNo Then Exit Sub
End If
ActiveSheet.ExportAsFixedFormat Type:=0, _
Filename:=strDat, _
Quality:=0, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Fin:
If Err.Number  0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
Application.DisplayAlerts = True
End Sub

Sollte funktionieren

Anzeige
InStr ist mE die falsche Wahl ...
02.03.2014 21:59:29
Matthias
Hallo Uwe
Du zeigst hier .pdf doppelt an
If MsgBox(DatName & ".pdf" & " existiert schon!"
denn in DatName steht es ja schon mit drin
DatName = Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".") - 1) & ".pdf"
InStr ist mE die falsche Wahl, siehe mein Beitrag.
Gruß Matthias

AW: InStr ist mE die falsche Wahl ...
02.03.2014 22:13:19
Uwe
Hallo Matthias,
haste Recht. Habs auf die Schnelle nicht bemerkt.
Grüße aus Dresden
Uwe

412 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige