Fehler bei PDF-Export
#1
Hallo,

ich habe einen Makro geschrieben mit dem eine Excel-Tabelle (Wochenbericht) als PDF-Datei in ein anderes Verzeichnis gespeichert wird.
Die Verzeichnisstruktur sieht so aus:

Excel-Datei in:  D\RApp\RApp-Berichte\XSLM-Dokumente

PDF-Bericht in: D\RApp\RApp-Berichte\XSLM-Ausgabe

Das Makro soll den Pfad auf dem die Excel-Datei liegt einlesen und auf den Pfad ändern auf dem die PDF-Dateien liegen.
Mit dem folgenden Makro habe ich das Problem, dass der Backslash nach dem Pfad (vor dem Dateinamen) nicht gesetzt wird und die PDF-Datei daher unter dem Namen  XMLS-AusgabeWochenbericht_YYMMTT.pdf gespeichrt wird.
Sobald ich den Backslash eingefügt habe (egal in welchem Befehl) erhalte ich eine Fehlermeldung für den Befehl: ActiveSheet.Export....

So sieht das Makro aus:
Code:
Sub PDFdrucken()

' PDFdrucken Makro
'
' Tastenkombination: Strg+p
    Dim Name$, Dat$
    Dim sourcedir, sDateiname
    Name = "\Wochenbericht"               'Berichtsnname
    Dat = Format(Date, "YYYYMMDD")        'Berichtsdatum
    sourcedir = ThisWorkbook.Path         'Verzeichnis Workbook
    sourcedir = Replace(sourcedir, "Dokumente", "Ausgabe")
    sDateiname = sourcedir & Name & "_" & Dat & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=sDateiname, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
    MsgBox ("Bericht: " & sDateiname & " ist fertig")
End Sub

PS: der Backslash in Name = "\Wochenbericht" war ein erfolgloser Versuch

Danke für eure Hilfe

kilix
Antworten Top
#2
Moin,

Wenn du einen Fehler erhältst, solltest du die Fehlermeldung sowie den Inhalt der Variablen zu dem Zeitpunkt dazuschreiben.
Meistens fällt dir dabei direkt auf, was du falsch gemacht hast.

Viele Grüße 
derHoepp

Nachtrag: Name ist auch ein Befehl und sollte als Bezeichnung einer Variablen vermieden werden.
Antworten Top
#3
Hi,

Fehler im Makro:

Ordner "Dokumente" existiert für Excel nicht!

Der heißt Documents:
Code:
Sub PDFdrucken()

' PDFdrucken Makro
'
' Tastenkombination: Strg+p
    Dim Name$, Dat$
    Dim sourcedir, sDateiname
    Name = "\Wochenbericht"               'Berichtsnname
    Dat = Format(Date, "YYYYMMDD")        'Berichtsdatum
    sourcedir = ThisWorkbook.Path         'Verzeichnis Workbook
    sourcedir = Replace(sourcedir, "Documents", "Ausgabe")
    sDateiname = sourcedir & Name & "_" & Dat & ".pdf"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:=sDateiname, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
    MsgBox ("Bericht: " & sDateiname & " ist fertig")
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#4
Moin Edgar,

wenn ich das richtig sehe, geht es nicht um den Standardordner Dokumente, sondern um einen frei benannten Ordner. Wahrscheinlich geht es wie so oft darum, dass der TE sich nach OpenAfterPublish unbemerkt das Überschreiben sperrt.

Viele Grüße
derHoepp
Antworten Top
#5
Danke für eure Antworten!

@ BoskoBiati:
es stimmt, dass es sich dabei nicht um den Standardordner Dokumente/Documents handelt sondern um einen von mir auf dem Pfad: D:\RApp\RApp-Berichte\XSLM-Dokumente angelegten.
Die Verzeichnisstruktur sieht so aus:
D\RApp\RApp-Berichte
                  XSLM-Dokumente  (hier sind die Excel-Dateien gespeichert)
                  XSLM-Ausgabe (hier die PDF-Datei-Ausgaben)

@derHoepp:
hier ist die Fehlermeldung:
   
nachdem ich denke, dass sie sehr wenig aussagt habe ich auch die Markierung des Fehlers beigelegt:
   
Zum Verdeutlichen:
solange ich nicht versucht habe den \ zwischen dem Verzeichnis und dem Dateinamen einzufügen gab es keine Fehlermeldung. Allerdings wurde die Datei auch so gespeichert: 
D:\RApp\RApp-Berichte\XSLM-AusgabeWochenbericht _20250414.pdf
statt:
D:\RApp\RApp-Berichte\XSLM-Ausgabe\Wochenbericht _20250414.pdf
Es fehlt  der \ zwischen XLSM-Ausgabe und Wochenbericht....
Ganz egal wo ich versuche den \ in die Stringaddition zu schreiben erhalte ich den Fehler.

Grüße
kilix
Antworten Top
#6
Hi,

dieser Fehler ist bei mir nur aufgetaucht, wenn ich versucht habe ein leeres Dokument zu speichern.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
Hallo Kilix,

bei mir läuft der Code einwandfrei durch und macht was es soll. Bitte kopiere den Code und stelle ihn hier rein!

@Edgar, wenn die Datei leer ist, dann kommt zwar Laufzeitfehler 1004 aber mit dem Hinweis, "Wir haben nichts zum Drucken gefunden", also eine andere Meldung als Kilix!

LG, Alexandra
Antworten Top
#8
Hallo an alle Helfer!

ich muss mich entschuldigen! Der Fehler lag bei mir in einem falschen Verzeichnisnamen. Nach der Korrektur hat das Makro einwandfrei funktioniert.

Danke für eure Bemühungen und entschuldigt, bitte, meine Fehlleistung!

Grüße
kilix
[-] Folgende(r) 1 Nutzer sagt Danke an kilix für diesen Beitrag:
  • derHoepp
Antworten Top
#9
Moin,

na siehst du!
Selbstzitat schrieb: Inhalt der Variablen zu dem Zeitpunkt dazuschreiben.
Meistens fällt dir dabei direkt auf, was du falsch gemacht hast

Viele Grüße
derHoepp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste