Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: nashieli am 19.09.08 - 14:29:51

Titel: aktuell markiertes Item
Beitrag von: nashieli am 19.09.08 - 14:29:51
Hallo,

ich versuche diesen Code auszuführen:

   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   Messagebox( uidoc.FieldGetText( "Subject" ) )

Jedoch bekomme ich eine Fehlermeldung. Erst wenn ich eine Mail öffnen, dann funktioniert das.

Ich will egal in welcher Ansicht die aktuell markierte Mail (oder andere Items) haben und mit dieser arbeiten.

Für einen Tip wäre ich dankbar.

Gruß

Asim
Titel: Re: aktuell markiertes Item
Beitrag von: m3 am 19.09.08 - 14:50:10
Der Fehler liegt auf Deiner Seite. Die Designer-Hilfe schreibt zu "notesUIWorkspace.CurrentDocument"schön:

Zitat
Returns a NotesUIDocument object representing the document that's currently open.

Mit Betonung auf "open". Ein markiertes Dokument ist nicht offen.
Titel: Re: aktuell markiertes Item
Beitrag von: nashieli am 19.09.08 - 15:03:11
Der Fehler liegt auf Deiner Seite. Die Designer-Hilfe schreibt zu "notesUIWorkspace.CurrentDocument"schön:

Zitat
Returns a NotesUIDocument object representing the document that's currently open.

Mit Betonung auf "open". Ein markiertes Dokument ist nicht offen.

hmmmmmmmmm... Du hast nicht zufällig den Befehl womit ich die markierten Items in einer x-beliebig Ansicht ermitteln kann.

Danke

Gruß

Asim
Titel: Re: aktuell markiertes Item
Beitrag von: m3 am 19.09.08 - 15:33:58
Also wenn Du so direkt fragst, würde ich Dir den Tipp geben, Dir "notesUIView.CaretNoteID", "notesDatabase.UnprocessedDocuments" und "notesSession.DocumentContext" anzusehen. Eines der Properties sollte das sein, was Du brauchst.

Titel: Re: aktuell markiertes Item
Beitrag von: nashieli am 19.09.08 - 15:41:51
Also wenn Du so direkt fragst, würde ich Dir den Tipp geben, Dir "notesUIView.CaretNoteID", "notesDatabase.UnprocessedDocuments" und "notesSession.DocumentContext" anzusehen. Eines der Properties sollte das sein, was Du brauchst.



Cool vielen Dank.

Eine letzte Frage hätte ich noch. Hast Du nicht für mich als Lotus Notes Anfänger Websites die Du mir empfhelen kannst...

Eigentlich muss ich was harmloses entwickeln (denke ich zumindest)? Buttons erzeugen und mit Hilfe der Buttons das aktuell markierte Item an Anwendung X per COM weiterleiten und dem Item ein Feld hinzufügen/ mit Icon oder hintergrundfarbe kennzeichnen.

Vielen Dank

Gruß aus Berlin

Asim
Titel: Re: aktuell markiertes Item
Beitrag von: nashieli am 19.09.08 - 15:52:01
Also wenn Du so direkt fragst, würde ich Dir den Tipp geben, Dir "notesUIView.CaretNoteID", "notesDatabase.UnprocessedDocuments" und "notesSession.DocumentContext" anzusehen. Eines der Properties sollte das sein, was Du brauchst.



Hier ist der Code:

   Dim ws As New NotesUIWorkspace
   Dim uiview As NotesUIView
   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Set uiview = ws.CurrentView
   Set db = s.CurrentDatabase
   Set doc = db.GetDocumentByID(uiview.CaretNoteID)
   Messagebox doc.GetItemValue("Subject")(0),,    "Current document is ..."

Geht ganz gut damit.

Gruß

Asim
Titel: Re: aktuell markiertes Item
Beitrag von: Axel am 22.09.08 - 08:45:58
Zur COM-Programmierung findest du hier was sehr informatives: IBM Redbooks (http://www.redbooks.ibm.com/abstracts/sg245670.html?Open).

Ich möchte dich aber gleich warnen. Die Programmierung der COM-Schnittstelle ist für einen Anfänger nicht unbedingt trivial. Du solltest dich erstmal mit der Programmierung von Notes vertraut machen. Dafür ist die Designer-Hilfe ganz gut geeignet.

Axel
Titel: Re: aktuell markiertes Item
Beitrag von: Ralf_M_Petter am 22.09.08 - 10:27:46
Zusätzliches Problem bei der Com Geschichte ist, dass Notes gar kein Com Client ist und daher kein Com als Client kann. Das wird immer mal gerne übersehen. Was geht ist OLE Automation was aber natürlich nicht so schön ist.

Grüße

Ralf
Titel: Re: aktuell markiertes Item
Beitrag von: nashieli am 22.09.08 - 11:36:37
Zusätzliches Problem bei der Com Geschichte ist, dass Notes gar kein Com Client ist und daher kein Com als Client kann. Das wird immer mal gerne übersehen. Was geht ist OLE Automation was aber natürlich nicht so schön ist.

Grüße

Ralf


Hmmmmmmmmm... ja, ist nicht so gut... dabei bin ich nicht auf VB6 fixiert... es kann auch Java sein... am ende will ich ein Programm haben, was ich auf den Clients verteilen kann...

Gruß aus Berlin

Asim