Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - PDF-Datei erstellen und per E-Mail versenden

VBA - PDF-Datei erstellen und per E-Mail versenden
24.06.2024 18:42:08
Schneider, Franz
Hallo,

ich habe eine Tabelle erstellt, von der ich mittels VBA-Code eine PDF-Datei erstellen und diese per E-Mail versenden kann. In dieser Tabelle befinden sich u. a. Informationen, die im PDF-Namen und E-Mail-Betreff erscheinen sollen. Zudem ist die E-Mail-Adresse des Empfängers enthalten. Solange die Datei in einem Verzeichnis auf dem PC gespeichert ist und der Code über einen Button gestartet wird, funktioniert alles wie geplant. Wenn ich jedoch, so das Erfordernis, den Code aus einem Netzwerk-Verzeichnis in OneDrive starte, werden die Leerzeichen im PDF-Namen als "%20" dargestellt.

Ein weiteres Problem mit dem Codestart aus OneDrive ist, wenn ich die PDF-Datei nicht speichern möchte, dann stoppt der Codeablauf bei "Kill mePDFD" mit einer Fehlermeldung. Bei einem Codestart aus einem Verzeichnis auf dem PC funktioniert auch hier alles wie geplant.

Kennt jemand diese Probleme und hat dafür eine Lösung? Eine Musterdatei habe ich unter https://www.herber.de/bbs/user/170456.xlsm hochgeladen.

Viele Grüße
Franz
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - PDF-Datei erstellen und per E-Mail versenden
24.06.2024 18:59:20
volti
Hallo Franz,

in Links dürfen keine Leerzeichen und keine Sonderzeichen vorhanden sein. Diese werden, wenn sie doch benötigt werden, durch hexadezimale Zeichen ersetzt.
Allerdings nicht wie gewohnt sondern mit vorgestelltem %.
Das Leerzeichen hat den ASCII-Code 32, das entspricht dem hexadezimalen Wert H20 und wird daher in Links als %20 angegeben.

Tipp:
Wenn Du die erzeugte PDF-Datei nach dem Versenden ohnehin wieder löschen möchtest, gib doch einen Pfad auf der Festplatte des aktuellen Users an, z.B. das TEMP-Verzeichnis. Das funktioniert auch, wenn die Exceldatei woanders ist.

Beispiel:
mePDFD = Environ("temp") & "\" & ActiveSheet.Range("C10") & " vom " & ActiveSheet.Range("C11") & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=mePDFD, Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False


Gruß
Karl-Heinz
Anzeige
AW: VBA - PDF-Datei erstellen und per E-Mail versenden
25.06.2024 14:59:07
Schneider, Franz
Hallo Karl-Heinz,

dein Beispiel ist genau die Lösung, die ich gesucht habe. Vielen Dank.

Viele Grüße
Franz
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige