2017-10-18 2 views
0

Ich habe ein vorhandenes Outlook-Formular, das bereits vordefinierte Logik, benannte Felder und Comboboxen hat. Dieses Formular ist die Standardeingabe für ein anderes Apartment. Daher darf ich das Formular nicht so ändern, dass die Verarbeitung unterbrochen wird."Outlook-Formular" programmatisch auf dem Server vor dem Herunterladen von Benutzern vorbereiten

Was ich tun muss, ist einige Felder des Formulars dynamisch auf meiner Server-Seite, wo ich die Informationen zur Verfügung, und geben Sie es als MSG-Datei für den Endbenutzer. Der Benutzer könnte dann einige der Felder ändern, sowohl die, die ich bereits gefüllt habe, als auch die anderen.

Meine Frage ist, gibt es APIs oder "finde & ersetzen" Tricks, die ich verwenden könnte, um Eigenschaften des Outlook-Formulars programmgesteuert auf meinem Server zu füllen? Wenn es etwas hilft, Werte.

Ich habe einen naiven Ansatz versucht, $ NAME $ in den Eigenschaftswert zu setzen und dann einen einfachen Textaustausch durchzuführen, aber Outlook konnte die .msg danach nicht öffnen - ich nehme an, dass es einige Prüfsummen oder Abhängigkeiten innerhalb des internen gibt Datenstrukturen.

Die bevorzugten Plattformen sind .NET oder Java, aber andere Optionen wären auch in Ordnung.

Antwort

1

Outlook-Objekt Modle kann MSG-Datei mit Namespace.OpenSharedItem öffnen, aber OOM kann nicht von einem Dienst (wie IIS) verwendet werden.
Sie können MSG-Datei mit Extended MAPI (C++ oder Delphi nur) unter Verwendung von OpenIMsgOnIStg usw.
Bei .Net oder Java öffnen und ändern, können Sie Redemption und seine RDOSession verwenden. GetMessageFromMsgFile Methode (gibt RDOMail Objekt zurück). Sie können die Eigenschaften mithilfe von RDOMail.Fields[] ändern und dann die MSG-Datei speichern, indem Sie RDOMail.Save aufrufen.
Sie können die vorhandenen MAPI-Eigenschaften und ihre DASL-Namen in OutlookSpy (klicken Sie auf OpenIMsgOnIStg Schaltfläche) anzeigen.

+0

Vielen Dank, das Outlook-Objektmodell funktioniert. Ich habe gelesen, dass Outlook-Automatisierung auf dem Server nicht offiziell unterstützt wird, aber gibt es etwas, das es aktiv verhindert? Es sieht besser aus als die anderen Optionen und ist etwas, das ohne zusätzliche Käufe funktioniert. –

+0

Server ist in Ordnung, es ist ein Dienst, der ein Problem ist. Outlook wird abstürzen oder hängen. Keine Frage, ob, aber wann. –

+0

Würde es einen Unterschied machen, wenn der Server ein Cmd-Tool als neuen Prozess startet und die tatsächliche Office-Interoperabilität von diesem Tool aus erfolgt? Ich habe das getestet und es funktioniert genauso, und ich kann Datei innerhalb einer Sekunde oder so liefern. Die Sache, die ich nicht selbst testen kann, sind die Crash-Szenarien, deshalb frage ich ... –

Verwandte Themen