Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Fitz am 22.03.07 - 15:09:18

Titel: Feldabfrage in Lotusscript
Beitrag von: Fitz am 22.03.07 - 15:09:18
Hallo Entwickler,

ich möchte bei allen Usern im lokalen Adressbuch in allen Arbeitsumgebungen den Paramter "Format für Nachrichten an Internet-Adressen:" auf MIME umstellen. In der Lotus Sandbox habe ich ein Script dazu gefunden. Leider wird im Script nicht abgefragt ob die Arbeitsumgebung schon auf MIME gestellt ist. Kann mir jemand einen Tip geben wie ich das Feld abfragen kann, damit ich das speichern überspringen kann? (siehe Frage im script)


Dim session As New notessession
' For The Current User in The Current Session, Get All The NABs
   Forall books In session.addressbooks
'Check If The Current NAB is Private or Public
'If The NAB Is Private, Than It Should Be Your Personal NAB
      If books.isprivateaddressbook Then
'Verify if The NAB is Open, If Not, Open it
         If Not(Books.isopen) Then
            Call Books.open("",books.filename)
'Now Get All The Documents in The Location View
            Set view = books.getview("Locations")
            Set doc = view.getfirstdocument
            While Not (doc Is Nothing)
' Get The Field and Modify it
' hier meine Frage: wie kann ich auf z.B.   MessageFormat = 0 prüfen, damit nicht gespeichert wird?
                    Call doc.replaceitemvalue ("MessageFormat","1")
                    Call doc.save (True,True)
               Set doc = view.getnextdocument(doc)
            Wend
         End If
      End If
End Forall

Ich möchte den Code dann im Postopen in den MailDB's einbauen

Danke für Tipps :-)

Gruß
Bernd
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: ascabg am 22.03.07 - 15:14:29
Hi,

Mit

If doc.GetItemValue("MessageFormat")(0) = <zu pruefender Wert>

Andreas
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: Axel am 22.03.07 - 15:16:31
Ähm, das ist aber ein Thema der Einsteigerprogrammierung 1. Stunde.  :o
So was findet man auch in der Designer-Hilfe.

...
While Not (doc Is Nothing)
  If doc.MessageFormat(0) <> "1" Then
      Call doc.replaceitemvalue ("MessageFormat","1")
      Call doc.save (True,True)
  End If
  Set doc = view.getnextdocument(doc)
Wend
...


Axel
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: Fitz am 22.03.07 - 15:24:25
Hallo zusammen

Danke für die Infos! :-)  Ich bin hauptsächlich Administrator und "programmiere" leider nur ab und zu.

Noch ne kleine Frage. Ich möchte das Script nur beim starten der MailDb laufen lassen. Wo kann ich das am besten einbauen? (Inbox$ Globals?)

Danke.

Gruß
Bernd
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: klaussal am 22.03.07 - 15:36:30
Im PostOpen der Mehl-DB, vielleicht.. ?
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: Fitz am 22.03.07 - 16:05:50
Hallo @klauss,

ich finde ein Postopen nur im Ordner ($Inbox). Doch dann wird ja immer bei einem Wehcsel zum Posteingang das Script ausgeführt. Wo kann ich das Script einmalig beim starten den Mail DB ausführen lassen?

Gruß
Bernd
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: Driri am 22.03.07 - 16:15:42
Im Datenbankscript (unter "Andere" -> "Datenbankressourcen")
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: Fitz am 23.03.07 - 12:06:14
@Driri

Danke für den Hinweis. Wenn ich nun das Script im DB Postopen einbauen möchte, kommt "Variable not declared" beim speichen.  Ich denke mal es müsen alle benutzen Variablen mit Dim ...  definiert werden? Doch wie?

Danke für Infos!

Gruß
Bernd
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: klaussal am 23.03.07 - 12:10:22
Debugger einschalten ....
Titel: Re: Feldabfrage in Lotusscript
Beitrag von: Axel am 23.03.07 - 13:12:29
Ich denke mal es müsen alle benutzen Variablen mit Dim ...  definiert werden? Doch wie?

Da denkst du richtig.

Wie?  So (allgemeine Fassung): Dim variablenname As VariablenTyp

Für genauere Info willst du die die Designer-Hilfe anschauen. Dort steht alles was du brauchst, sogar mit Beispielen.


Axel