Email - Konto einstellbar?

Hi zusammen,
ich nutze PDFCreator schon lange und bin begeistert.
Eine Option fehlt mir aber (zumindest habe ich nichts gefunden):
Ich habe einen PDF-Drucker erstellt, der mir nach dem Erstellen automatisch eine Email mit der PDF-Datei als Anhang erstellt. Funktioniert perfekt.
Aber: Ich habe in Outlook mehrere Konten. Die Email wird immer im Standard-Konto erstellt.
Schön wäre es, wenn das von PDF-Creator benutzte Konto einstellbar wäre.

Hab ich die Option nur nicht gefunden? Und falls es sie nicht gibt: Irgendeine Chance, das in einer künftigen Version einzubauen?
Danke und Grüsse
Alfred

Hallo!

Diese Funktion gibt es in PDF-Creator nicht, und wird es sicher auch nicht geben da es kein Standard ist. Das Vorwählen eines Kontos ist eine Spezialität von Outlook bzw des Outlook-Objekt-Modells (mit Thunderbird kann man zwar auch ein Sende-Profil vorwählen, das funktioniert aber völlig anders als im Outlook-Objekt-Modell). Anstatt das Senden der PDF-Datei dem PDF-Creator zu überlassen, solltest Du das direkt über das Outlook-Objektmodell senden, da hast Du dann die Möglichkeit mit "SendUsingAccount" (bei Standard-Outlook-Profilen) das Konto vorzuwählen oder mit "SentOnBehalfOfName" (bei Exchange-Konten) unter einem anderen Namen zu senden.

Gruß, René

Hi René,
danke für die Antwort.
"wird es sicher auch nicht geben" ist zwar schade, aber das Argument "ist kein Standard" kann ich (wohl oder übel) nachvollziehen. Eben weil es über VBA recht einfach geht, hatte ich in meiner Einfältigkeit auch gedacht, das müsste im PDFCreator auch einfach einzubauen sein.
Schade!
Grüsse
Alfred

"Einfach einbauen" ist nicht möglich. Dafür müsste das COM-Objekt des PDF-Creators so aufgebaut werden, dass es mehrer Möglichkeiten zum Vorwählen gibt (Thunderbird, Outlook, GroupWise, HCL-Notes [ehemals Lotus-Notes, IBM-Notes] etc. pp.). GroupWise ist zwar stark an das Outlook-Objekt-Modell angelehnt, aber dennoch etwas anders. Bei Lotus-Notes (HCL-Notes) ist es jedoch sehr kompliziert, nicht so einfach wie bei den anderen drei genannten Mailprogrammen.

Falls Du ein Beispiel für VBA möchtest, ich habe auf die Schnelle ein kleines Beispiel auf meine Homepage gestellt (da ist die Code-Darstellung besser als hier. :wink: ). https://www.rholtz-office.de/vbacodes/PDFCreatorOutlook4.html

Und nochmal danke!
Ja, war mir (nach deiner Antwort) schon klar, dass es nicht so einfach ist, weil ihr eben auf mehrere Progamme Rücksicht nehmen müsst.
Nochmal danke für das Beispiel; werde ich so testen....
Grüsse
Alfred

Wichtig:
Das Vorwählen eines Kontos/Absenders funktioniert nur wenn jedes Konto eine eigene Datendatei (PST-Datei) hat.

Und wieder danke; ja, hab ich sowieso....

Bin mittlerweile etwas zum Testen gekommen und funktioniert prinzipiell auch. Aber (natürlich) ergeben sich neue Fragen:

  1. Den Dateinamen würde ich gern von PDF-Creator erstellen lassen, mit den Tokens "DateTime" und "Title". Einfacher Grund: dann müsste ich in meiner Anwendung (MS Access) dafür nicht noch eine Einstellung basteln, und könnte mir auch die Erstellung des Dateinamens ersparen, nachdem das im PDFcreator schon programmiert ist.
    Den im Profil eingestellten Pfad kann ich ja mit GetProfileSetting("TargetDirectory") auslesen, auch das funktioniert. Geht das auch mit dem Dateinamen? Dazu hab ich nichts gefunden...

  2. Mit printJob.getoutputfiles().count bekomme ich zwar die Anzahl der erzeugten Dateien, ich scheitere aber kläglich daran, die in der Doku beschriebene Funktion GetFilename() zu nutzen. Ich finde nichtmal, wo die beschriebene Klasse "OutputFiles" versteckt ist.
    Wie müsste denn der Aufruf von "GetFilename(x) aussehen?

Vorab schonmal wieder Danke!
Alfred

Ich schau es mir in den nächsten Tagen mal an, je nachdem wie ich Zeit finde. Datum und Uhrzeit bekommt man übrigens auch per VBA. Z.B.: Format(Now, "dd-mm-yyyy_hh-mm")

Ja, dass ich Punkt1 auch per VBA lösen könnte, ist schon klar. Warum ich es lieber aus dem PDFCreator Profil auslesen würde, hat 2 Gründe:

  1. Prinzipiell hasse ich es, eine Funktion ein 2. mal zu programmieren, die eigentlich schon da ist
  2. Vorteil übers Profil: Wenn ich die Zusammensetzung des Dateinamens ändern will, bin ich flexibel, indem ich einfach die Profileinstellungen ändere. Klar ginge das auch über VBA, aber auch hier: das wäre doppelt programmiert.

Und bitte (wenn du dann Zeit hast) auch mal Punkt 2 anschauen "OutputFiles".
Danke wieder mal!
Alfred

Hi,

eine alternative Möglichkeit wäre ggf. noch, statt der COM-Schnittstelle die Aktion "Skript ausführen" zu verwenden und mit dieser die Outlook.exe mit entsprechenden Parametern aufzurufen; zumindest manche Outlook Versionen scheinen die Angabe eines Profils beim Starten zu unterstützen.

Beste Grüße

Robin

zumindest manche Outlook Versionen scheinen die Angabe eines Profils beim Starten zu unterstützen.

Ein Profil ist nicht das selbe wie ein Sendekonto. Unter einem Profil können mehrere Emailkonten laufen.

Ich finde nichtmal, wo die beschriebene Klasse "OutputFiles" versteckt ist

Ich auch nicht. In der Parameterbeschreibung stehen die Parameter "GetOutputfiles" und "GetFilename" nicht, ich weiss somit nicht wo ich ansetzen soll.

Euch beiden nochmal danke.
Die Idee mit dem Script werde ich mir trotzdem mal anschauen.
GetFilelname: Da bin ich durch Ausprobieren weitergekommen; ist eine Unterfunktion des "PrintJob". Hilft mir aber im Moment auch nicht wirklich weiter, da das natürlich erst NACH dem Drucken ein Ergebnis hat.
Nochmal zur Verdeutlichung, was für mich ideal wäre (abgesehen von der nicht realisierbaren Möglichkeit, das Sendekonto direkt anzugeben), wofür ich bis jetzt aber keine Möglichkeit gefunden habe - vielleicht gibts die ja wirklich nicht:
Wenn ich per COM-Schnittstelle einfach angeben könnte, dass ein bestimmter PDF-Drucker mit dem damit verknüpften Profil benutzt werden soll, incl. aller Einstellungen, was Dateiname usw. angeht. wäre das ideal. Denn dann könnte ich schlicht und einfach diesen Drucker verwenden und die erzeugte Datei dann "von Hand" per VBA an Outlook schicken.
Um das möglich zu machen, müsste es aber ein "ConvertTo()" ohne die Parameter Pfad & Dateiname geben, also praktisch nur ein "Convert", das dann Pfad und Name aus dem Druckerprofil erzeugt. Aber das gibt es wohl nicht?
Grüsse
Alfred

Hi,

Du könntest ggf. den Pfad & Dateiname vorher aus dem Profil auslesen und an ConvertTo() übergeben.

Beste Grüße

Robin

Und wieder danke!

Ja, wär klasse, wenn das ginge. Aber: Ich hatte in Beitrag 8 schon geschrieben
Den im Profil eingestellten Pfad kann ich ja mit GetProfileSetting("TargetDirectory") auslesen, auch das funktioniert. Geht das auch mit dem Dateinamen? Dazu hab ich nichts gefunden..

Und wenns wirklich geht (wie?), dann nehme ich an, dass ich bei Benutzung von Tokens nur die Profileinstellung bekommen werde, nicht den endgültigen Dateinamen, und mir dann den tatsächlichen Namen wieder aus dem Token basteln muss. Ist das richtig?

Eins noch vergessen, was wohl auch nur ginge mit dem "direkt aus Profil drucken":
Eigentlich würde ich am liebsten das "Only save file temporarily" nutzen, da ich die erstellten Dateien nachher ja nicht mehr brauche - sie sind ja bereits in Outlook gespeichet.

"Only save file temporarily" geht aber nur wenn Du die Email vom PDF-Creator versenden lässt. Anderenfalls greift das Outlook-Script ("Attachments.Add") ins Leere, da "Only save file temporarily" die Datei löscht bevor sie "Attachments.Add" anhängen kann.

Danke dir wieder. Widerspricht allerdings der Beschreibung hier:
Alle 48 Stunden löscht PDFCreator alle Dateien in diesem Verzeichnis automatisch.

Unter "temporär" stelle ich mir aber etwas anderes vor. Da würde ich lieber mit "Kill" arbeitet, das löscht die Datei sofort und nicht erst nach 2 Tagen.