Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: schurke am 11.12.03 - 10:37:35

Titel: Hilfe in LotusScript
Beitrag von: schurke am 11.12.03 - 10:37:35
Hallo @ all,

ich benötige Hilfe in puncto LotusScript. Ich möchte eine Schaltfläche "In Kalender eintragen" erstellen, die einen Kalendereintrag vornimmt.

Folgendes Script habe ich entwickelt. Komme aber jetzt nicht weiter da meine Kenntnisse noch sehr begrenzt sind. Das Problem besteht darin, dass für jeden einzelnen User in der Mail-DB ein Unterverzeichnis angelegt ist. Wie kann ich jeden User im Unterverzeichnis ansprechen?
Es existiert ein Autorenfeld (wo der Username erscheint) das man dafür verwenden kann.
Mit "mail\myname.nsf" funzt die Schaltfäche schon.

Sub Click(Source As Button)
   Dim s As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidb As NotesUIDatabase
   Dim kuidoc As NotesUIDocument
   Dim uidoc As NotesUIDocument
   Dim doc As notesdocument
   Dim sitem As NotesItem
   Dim eitem As NotesItem
   
   Set db = s.currentdatabase
   Set uidoc = ws.CurrentDocument
   Set kuidoc = ws.ComposeDocument( "Server", "mail\myname.nsf", "_Calendar Entry")
   
   Cat$= uidoc.FieldGetText( "Categories")
   If kuidoc.EditMode = True Then
      Call kuidoc.FieldSetText("AppointmentType", "2")
      Call kuidoc.Refresh
      Call kuidoc.FieldSetText("Subject", Cat$)
      'Call kuidoc.Save()
   End If
   
End Sub

Gruss

Wilfried
Titel: Re:Hilfe in LotusScript
Beitrag von: yes2002 am 11.12.03 - 10:53:08
Hallo,

ich verstehe Dein Problem nicht. Geht es darum jetzt die einzelne Dateien auszuwählen?

Gruß
Titel: Re:Hilfe in LotusScript
Beitrag von: schurke am 11.12.03 - 10:58:10

ich verstehe Dein Problem nicht. Geht es darum jetzt die einzelne Dateien auszuwählen?

Nein, ich möchte, das jeder seinen persönlichen Kalender damit pflegen kann.

wilfried
Titel: Re:Hilfe in LotusScript
Beitrag von: ata am 11.12.03 - 11:01:58
... was genau ist dein Problem, was klappt nicht?

Bitte doch den Moderator dieses Bereiches deinen Thread zu den Entwicklern zu verschieben, dort bekommst du eher Hilfe - hier ist das mehr für Admin's...

ata
Titel: Re:Hilfe in LotusScript
Beitrag von: Semeaphoros am 11.12.03 - 11:03:48
Du sagst nein, und dann doch wieder ja. Der persönliche Kalender steckt ja schliesslich in der eigenen Maildatenbank, sprich das Auswählen des persönlichen Kalenders ist schliesslich die Frage danach, wie finde ich die eigene Mail-Datenbank. Schau Dir mal das Notes-Objekt "NotesDatabase" genau an, dort steht das nämlich drin, wie man da dran kommt.

Weiter: Kalender-Dokumente sind ziemlich komplex. Mit den von Dir vorgegebenen Daten ist es ziemlich wahrscheinlich, dass Du mit den erzeugten Dokumenten früher oder später Probleme bekommst. Leider ist das Gebiet Kalender nur sehr schlecht dokumentiert.
Titel: Re:Hilfe in LotusScript
Beitrag von: Glombi am 11.12.03 - 11:08:20
Wenn ich das richtig interpretiere, willst Du anstelle von "mail\myname.nsf" in
 Set kuidoc = ws.ComposeDocument( "Server", "mail\myname.nsf", "_Calendar Entry")
den Pfad der Maildatenbank des aktuellen Users angeben?
Falls ja, kannst Du den aus der Notes.ini lesen: MailFile=<PFAD>

also

Sub Click(Source As Button)
  Dim s As New NotesSession
  Dim ws As New NotesUIWorkspace
  Dim db As NotesDatabase
  Dim uidb As NotesUIDatabase
  Dim kuidoc As NotesUIDocument
  Dim uidoc As NotesUIDocument
  Dim doc As notesdocument
  Dim sitem As NotesItem
  Dim eitem As NotesItem
Dim mailpath As String
mailpath = s.GetEnvironmentString( "MailFile", True )

 
  Set db = s.currentdatabase
  Set uidoc = ws.CurrentDocument
  Set kuidoc = ws.ComposeDocument( "Server", mailpath, "_Calendar Entry")
 
  Cat$= uidoc.FieldGetText( "Categories")
  If kuidoc.EditMode = True Then
      Call kuidoc.FieldSetText("AppointmentType", "2")
      Call kuidoc.Refresh
      Call kuidoc.FieldSetText("Subject", Cat$)
      'Call kuidoc.Save()
  End If
 
End Sub


Andreas
Titel: Re:Hilfe in LotusScript
Beitrag von: schurke am 11.12.03 - 11:20:34
Sorry, das erzeugt Fehlermeldung: Serverfehler: Datei nicht vorhanden. Unable to find Document Window

Wilfried
Titel: Re:Hilfe in LotusScript
Beitrag von: Glombi am 11.12.03 - 11:24:02
Hast Du denn den richtigen Server eingegeben?

Am besten den auch noch aus der Notes.ini lesen - MailServer
Das kannst Du analog zu MailFile machen.

Andreas
Titel: Re:Hilfe in LotusScript
Beitrag von: Axel am 11.12.03 - 14:19:16
Hi,

versuch's doch mal so:

Sub Click(Source As Button)
  Dim s As New NotesSession
  Dim ws As New NotesUIWorkspace
  Dim db As NotesDatabase
  Dim maildb As NotesDatabase
  Dim uidb As NotesUIDatabase
  Dim kuidoc As NotesUIDocument
  Dim uidoc As NotesUIDocument
  Dim doc As notesdocument
  Dim sitem As NotesItem
  Dim eitem As NotesItem

  Set maildb = New NotesDatabase("","")
  maildb.OpenMail

  Set db = s.currentdatabase
  Set uidoc = ws.CurrentDocument
  Set kuidoc = ws.ComposeDocument( maildb.Server, maildb.FilePath, "_Calendar Entry")
 
  Cat$= uidoc.FieldGetText( "Categories")
  If kuidoc.EditMode = True Then
      Call kuidoc.FieldSetText("AppointmentType", "2")
      Call kuidoc.Refresh
      Call kuidoc.FieldSetText("Subject", Cat$)
      'Call kuidoc.Save()
  End If
 
End Sub


Axel
Titel: Re:Hilfe in LotusScript
Beitrag von: schurke am 11.12.03 - 14:51:53
Herzlichen Dank @ all, insbesondere an Axel, der schließlich mein Problem lösen konnte.

Wilfried