Laden...

Lotus Notes Anbindung

Erstellt von Gremgiz vor 13 Jahren Letzter Beitrag vor 13 Jahren 4.684 Views
G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren
Lotus Notes Anbindung

Hallo,

ich bin gerade dabei über eine Anwendung eine E-Mail in Lotus Notes zu generieren und bekomme es nicht hin. Verwendet wird Lotus Notes 7.0. Kann mir dabei bitte jemand helfen? Ich weiß nicht auf wie vielen Seiten ich im Netzt schon war, aber so richtig gefunden habe ich nichts.

Was soll im einzelnen gemacht werden:
Über das C# Programm soll ein Template an Lotus übergeben werden. Dieses soll dann in Lotus Notes weiter bearbeitet werden können und gesendet werden.

Ich denke, dass hier die Background und die Frontendklassen benötigt werden.

Es gibt eine funktionierende Lösung in VBA, die ich nach besten Wissen in eine VB.DLL überführt habe. Jedoch läuft die nicht stabil und es kommt immer zu Abstürzen. Daher will ich das ganze noch einmal sauber aufsetzen.

Hat jemand Erfahrung, wie man C# an Lotus koppelt und wenn ja wie geht das im Detail?

Danke
gremgiz

H
222 Beiträge seit 2010
vor 13 Jahren

moin,

ich hab mit google so auf die schnelle folgenden link gefunden:

http://www.notes411.com/dominosource/tips.nsf/0/2114E009A8C8D089802571B6003CD7C4!opendocument

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren

Ja den kenne ich. Dabei geht es aber um das automatisierte Senden einer E-Mail ohne dass man das Notes Frontend benötigt. Und genau das brauche ich

H
222 Beiträge seit 2010
vor 13 Jahren

achso, sorry. was ist denn aus diesem weg geworden?

http://www.mycsharp.de/wbb2/thread.php?threadid=68153

ist das die dll von der du berichtet hast???

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren

Ja genau die ist es. Die läuft äußerst instabil. Ich denke das kommt daher, dass ich VBA 1:1 nach VB portiert habe (kann weder das eine noch das andere richtig). Irgendwie knallt es immer wieder. Die Fehler sind immer anders. Daher will ich die wegwerfen und neu machen

H
222 Beiträge seit 2010
vor 13 Jahren

hmmm, ich könnte dir jetzt tausende zeilen lotus-script-code schicken den ich im laufe der zeit erstellt habe, aber erstens ist das alles R5 und zweitens würde mein chef mich umbringen 😃

aber wenn du ne konkrete frage hast wie zu notessession, notesdatabase, notesdocument und was es nicht alles gibt, dann könnte ich dir bestimmt weiter helfen...

sorry

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren

Die Fragen sind ganze einfach: Wie kann ich eine E-Mail so erzeugen, dass ich sie bearbeiten kann (Übergabe aus C#)?

Mittlerweile geht zumindest das Frontend auf und ich kann teile beschreiben. Das ist ne Datenbank, die mal irgendwer gestrickt hat, der nicht mehr im Zugriff ist.

Eine Zeile meines Codes:
NotesUIDocument.InvokeMember("FieldSetText", BindingFlags.InvokeMethod, null, uidoc, new Object[] { "EnterSendTo", sendto });

Mein Frage geht auf den Teil: ("FieldSetText": Wo gibt es eine Übersicht aller "Befehle"/Member?

gruß
gremgiz

H
222 Beiträge seit 2010
vor 13 Jahren

dafür hab ich doch ne antw. parat 😃

wenn du nen domino-designer zur hand hast, kannst in der designer-hilfe schauen, unter

<LotusScript/COM/OLE Classes><LotusScript Klassen A-Z><NotesUiDocument Class>

Unter Domino R5 bietet das UIDocument folgendes:

Properties

AutoReload
CurrentField
DialogBoxCanceled
Document
EditMode
FieldHelp
HiddenChars
HorzScrollBar
InPreviewPane
IsNewDoc
PreviewDocLink
PreviewParentDoc
Ruler
WindowTitle

Methods

Categorize
Clear
Close
CollapseAllSections
Copy
CreateObject
Cut
DeleteDocument
DeselectAll
ExpandAllSections
FieldAppendText
FieldClear
FieldContains
FieldGetText
FieldSetText
FindFreeTimeDialog
FindFreeTimeDialogEx
FindString
Forward
GetObject
GetSelectedText
GotoBottom
GotoField
GotoNextField
GotoPrevField
GotoTop
Import
InsertText
NavBarSetText
NavBarSpinnerStart
NavBarSpinnerStop
Paste
Print
Refresh
RefreshHideFormulas
Reload
Save
SaveNewVersion
SelectAll
Send
SpellCheck

Events

PostModeChange
PostOpen
PostRecalc
PostSave
QueryClose
QueryModeChange
QueryOpen
QuerySave

edit: ich hab gerade die datenbank der designer-hilfe gefunden, theopraktisch gesehen könnte ich sie dir schicken...

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

H
222 Beiträge seit 2010
vor 13 Jahren

so meister, ich hab ne onlinehilfe für notes 7 gefunden.
da sollte alles drin stehen was du brauchst:

http://www-12.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf/Main?OpenFrameSet

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren

Vielen Dank dafür. Habe schon einwenig gespeilt und bin wieder auf die Nase gefallen. Das Feld "SendTo" scheint mir nicht im UI vorhanden zu sein. Jedenfalls läuft FieldSetText nicht. Ich habe mal im Originalen Code geschaut und da nehmen die REPLACEWITHITEM, was aber nicht im UI ist. Wie kann ich jetzt das Feld setzen?

H
222 Beiträge seit 2010
vor 13 Jahren

hmm, also ich nimm eig. immer fieldsettext, wobei ich ja auch direkt in lotusscript code.

das notesuidocument allerdings hat eine property "document", die gibt dir ein notesdocument zurück, aus welchem du die methode "ReplaceItemValue" nutzen könntest...

mfg hurby

Die Welt hat genug für jedermanns Bedürfnisse, aber nicht für jedermanns Gier.

G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren

Entweder ist heute nicht mein Tag oder ich bin wirklich nicht clever genug...

Das spukt mir gerade ne TargetInvocationExcpetion raus ("Member not found").
Hier mal die relevanten Zeilen:



Object uidoc = NotesUIWorkspace.InvokeMember("ComposeDocument", BindingFlags.InvokeMethod, null, ws, new Object[] { mailServer, mailFile, "Memo", 0, 0, true });
            
Type NotesUIDocument = uidoc.GetType();

Object doc = NotesUIDocument.InvokeMember("Document", BindingFlags.GetProperty, null, uidoc, new Object[] { mailServer}); //Hier kommt die Exception
           
Type NotesDoc = doc.GetType();

NotesDoc.InvokeMember("ReplaceItemValue", BindingFlags.InvokeMethod, null, doc, new Object[] { "sendto", "Her damit" });

G
Gremgiz Themenstarter:in
106 Beiträge seit 2006
vor 13 Jahren

Jetzt wirds lustig. Habe noch mal den Originalcode mit FieldSetText genommen. Sobald ich das Feld verlasse, erschitn der Text da wo er soll. Ich kann das Feld zwar nicht editieren, aber der Text scheint nur nicht sichtbar zu sein