Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: chief84 am 06.07.05 - 10:12:35
-
Hallo alle zusammen,
das ganze sieht so aussehen, ich habe eine Programm in das ich meine Lotus Notes Mail einbinden will.
Via Drag'n Drop wähle ich eine E-Mail aus dem Lotus aus und ziehe sie in das Programm.
Damit mein Programm aber erkennt welche Mail ich mir geschnappt habe, muss ich eine Objekt erzeugen, in dem die Position bzw. welche Mail selektiert wurde gespeichert wird.
Das ganz ist so ähnlich wie wenn man im Outlook ein ItemProperty Objekt erzeugt. Über Outlook geht das schon.
Das Programm ist in VB entwickelt. Hat eine eine Idee, wie ich dies realisieren kann
Danke und viele Grüße
Chief84
-
Hallo,
in VB gibt es die Möglichkeit, auf die NotesObjekte zuzugreifen. Das sollte auch in der Hilfe beschrieben sein (hoffe ich mal, bin kein VB-Entwickler).
Klingt allerdings nicht trivial. Wenn das variabel sein soll, müßte man im Notes erst einmal die Maildatenbank abfragen, die genutz werden soll. Dann in die Datenbank und über eine View die Liste der Mails auslesen. Als eindeutigen Schlüssel müßte man dann die DocumentUniqueID verwenden.
Sehe gerade, Drag & Drop. Wie soll das denn ablaufen ?
-
Danke für den Tip, da schau ich mich mal etwas mehr in der VB Richtung um.
Mit dem Drag'n Drop läuft das so, dass ich eine Mail aus der Inbox vom Notes praktisch in das Programm zeihe. Das Programm frägt dann praktisch beim Notes nach, welche Datei ich gewählt habe (dafür suche ich eine Funktion) und schickt mir die Mail dann als Anhang in mein Programm. Mit Outlook konnte diese Funktion schon realisieren werden. Jetzt versuchen wir das halt auch mal mit Notes.
Viele Grüße
chief84
-
Ich befürchte, dass Du nach nicht sehr weit kommen wirst, "chief84". Notes verwendet (u.a.) aus Sicherheitsgründen ein proprietäres Format. Eine Mail wirst Du daher nicht einfach irgendwo als Anhang ablegen können - Notes lässt Dich da schlicht nicht heran.
Erreichen kannst Du einiges, wenn Du via COM auf die Notes-Funktionalitäten selber zugreifst und auf diese Art und Weise das umsetzt, was Du erreichen willst. Das bedeutet aber ein tieferes Notes-Verständnis und einigen Aufwand (lösbar ist das natürlich, das haben etliche von uns schon gemacht).
Sag' an, wenn Du mehr Hintergrund-Infos brauchst - denn ohne diese geht hier nichts.
Bernhard
-
@Bernhard :
Daher auch noch mal meine Rückfrage. Per COM sehe ich da kein Problem.
-
Hallo,
also ich habe nochmal mit meinem Chef darüber geredet. Uns ist es egal, ob man die Mail aus dem Programm kopieren kann oder nicht. Darum kümmert sich anscheinende schon eine andere Abteilung.
Wir benötigen nur einen kleinen VBA Code in dem abgefragt wird, welche E-Mail im Notes Fenster markiert wurde.
Habt ihr irgendwelche Ideen???
Danke
-
Properties wie NotesDatabase.UnprocessedDocuments und NotesSession.DocumentContext stehen für COM (erforderlich für den Zugriff via VBA und andere) nicht zur Verfügung. Auf diese Weise geht es also nicht.
Was ich allerdings überhaupt nicht verstehe:
Uns ist es egal, ob man die Mail aus dem Programm kopieren kann oder nicht. Darum kümmert sich anscheinende schon eine andere Abteilung.
Wenn diese andere Abteilung es schafft, eine Mail - nein, nicht aus dem Programm, das ist ja Blödsinn, sondern aus der Mail-Datei - in eine andere Anwendung zu "kopieren", dann wird sie dieses aktuelle Problem auch spielend lösen.
Ich habe das schon mal erwähnt: Notes verwendet ein absolut proprietäres Format, an dem man sich ganz schnell die Zähne ausbeisst, wenn man da nicht ganz, ganz tief drinsteckt. Wir können hier sicherlich in bestimmten Grenzen (bevor es an unsere "Betriebsgeheimnisse" geht) weiterhelfen, aber wenn ich die Beteiligungsquote an diesem Thread so sehe, fehlt wohl nicht nur mir die verständliche Erklärung des beabsichtigten Zwecks.
Den Gedanken "Drag & Drop" aus einem sicheren, weil proprietären Mailprogramm für Businesszwecke wie Notes kannst Du auf jeden Fall begraben.
Bernhard
-
vielleicht steht das über Java zur Verfügung?
In der Java api gibt es ein property :
AgentContext.UnprocessedDocuments.
All unread documents in view Are unread and in the view
Meet the search criteria specified in Agent Properties box
Les die Hilfe.
Jedenfalls kannst du mit Java von einem externen Programm auf Notes-Objekte zugreifen.
Zum schedulen empfehle ich quartz. (google: quartz java).
Allerdings ist das mit den ungelesenen Dokumenten property allgemein nicht so zuverlässig (kann aber ein Vorurteil sein).
Axel
-
Er will ja nicht die ungelesenen, sondern die Markierten
Bernhard hat da schon recht, mit COM kommt man da sicher nicht ran, Markierte, das ist ein UI-Bestandteil, heisst FrontEnd und via COM steht nur Backend zur Verfügung. Gleiches gilt für Java: Kein FrontEnd. Der einzige mir bekannte Mechanismus, der FrontEnd für externe Programme zur Verfügung steht, ist OLE, ob man dort an die Markierten rankommt, weiss ich nicht.
Wirklich Sinn macht es tatsächlich nicht.