Domino 9 und frühere Versionen > ND9: Entwicklung

Lotusscript über VBA

(1/3) > >>

etofi:
Hallo zusammen,

nachdem ich nun nach über einer Stunde Suche nichts gefunden habe,
wollte ich mal fragen ob des was ich vor habe überhaupt möglich ist.

Anbei mein aktuelles Beispiel:


--- Code: ---'Holen einer aktiven Notessession
Set objNotes = GetObject("", "Notes.NotesSession")

'Verweisen auf die gewünschte Datenbank
Set LNdb = objNotes.GETDATABASE(strServerName, strDbName)

If Not (LNdb Is Nothing) Then

    Set LNView = LNdb.GETVIEW("($All)")
   
    strFilter = "Form = ""Maske"" & Standard = ""ja"""
    Set LNView = LNdb.SEARCH(strFilter, Nothing, 0)

    If LNView Is Nothing = False Then
           
        'Einlesen des ersten Dokuments
        Set LNDoc = LNView.GETFIRSTDOCUMENT
           
        Do While Not LNDoc Is Nothing
               
                Set LNItem = LNDoc.GETFIRSTITEM("DokID")
                If LNItem Is Nothing = False Then
                    Debug.Print LNItem.Text
                End If
               
                Set LNDoc = LNView.GETNEXTDOCUMENT(LNDoc)
           
        Loop
           
    End If

End If
--- Ende Code ---

Damit kann ich problemlos alle Felder eines Dokuments auslesen.
Die Frage ist nun ob ich auch das Ergebnis eines Lotusscriptes auslesen kann.

So was in der Art:


--- Code: ---Set LNItem = LNDoc.GETFIRSTITEM("@DbLookup("""":""NoCache";"""";""LUMA"";ZLangName;""OES"";[FAILSILENT])")

--- Ende Code ---

Geht so etwas überhaupt?
Und wenn ja wäre ich für ein kurzes Besipiel sehr dankbar.

Grüße
Eric

ascabg:
Hallo,

Da du "Set LNItem = ..." verwendest, kannst du das Ergebnis ebenso abfragen, wie du das bei der View bereits tust.

Hier fragst du n deinem Code doch auch "If LNView Is Nothing"

Was mich an dem Code aber ein wenig verwundert ist, wie du diese Abfragen gestaltest.

Auch in VBA sollte eine Abfrage, ob ein Objekt gesetzt ist mit "If Not LNView Is Nothing" möglich sein.


Andreas

jBubbleBoy:
schau Dir mal diese Funktion an:
https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/H_EVALUATE_METHOD_SESSION_COM.html

etofi:

--- Zitat von: ascabg am 09.10.18 - 14:14:36 ---Hier fragst du n deinem Code doch auch "If LNView Is Nothing"
Was mich an dem Code aber ein wenig verwundert ist, wie du diese Abfragen gestaltest.
Auch in VBA sollte eine Abfrage, ob ein Objekt gesetzt ist mit "If Not LNView Is Nothing" möglich sein.

--- Ende Zitat ---

Du hast recht der Code ist etwas umständlich.
Entschlackt sähe das so aus:


--- Code: ---'Holen einer aktiven Notessession
Set objNotes = GetObject("", "Notes.NotesSession")

'Verweisen auf die gewünschte Datenbank
Set LNdb = objNotes.GETDATABASE(strServerName, strDbName)

If Not (LNdb Is Nothing) Then
   
    strFilter = "Form = ""Maske"" & Standard = ""ja"""
    Set LNGefiltert = LNdb.SEARCH(strFilter, Nothing, 0)

    If Not LNGefiltert Is Nothing Then
           
        'Einlesen des ersten Dokuments
        Set LNDoc = LNGefiltert.GETFIRSTDOCUMENT
           
        While Not LNDoc Is Nothing
               
               Set LNItem = LNDoc.GETFIRSTITEM("DokID")
                If LNItem Is Nothing = False Then
                    Debug.Print LNItem.Text
                End If
               
                Set LNDoc = LNGefiltert.GETNEXTDOCUMENT(LNDoc)

        Wend
           
    End If

End If

--- Ende Code ---


--- Zitat von: ascabg am 09.10.18 - 14:14:36 ---Da du "Set LNItem = ..." verwendest, kannst du das Ergebnis ebenso abfragen, wie du das bei der View bereits tust.

--- Ende Zitat ---

Das habe ich nicht verstanden. Meinst Du so.

--- Code: ---Set LNItem = LNDoc.GETFIRSTITEM("@DbLookup("""":""NoCache";"""";""LUMA"";ZLangName;""OES"";[FAILSILENT])")

--- Ende Code ---

Das liefert nämlich kein Ergebnis.

jBubbleBoy:
beschreibe mal mit Worten was Du damit erreichen möchtest:

--- Code: ---Set LNItem = LNDoc.GETFIRSTITEM("@DbLookup("""":""NoCache";"""";""LUMA"";ZLangName;""OES"";[FAILSILENT])")

--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln