30. november 2004 - 12:29Der er
3 kommentarer og 1 løsning
Kopiere dokument ind som aftale i min kalender.
Hej Eksperter
Jeg har en form som indeholder 4 felter, som jeg skal have kopierte ind i min kalender ved hjælp af en knap.
Felterne: Installation start dato start tid slut tid
Jeg har fundet et lotusscript på nettet, men kan ikke få det det til at fungere, og jeg forstår ikke noget af det alligvel. Kan man gøre det med formula sproget?
- sku' lige se om der var liv i spørgsmålet :-) Du kan lave en agent, der opretter en kalenderaftale med @command([compose];"Appointment")- og derefter udfylder respektive felter med @Command([EditGoToField];"Felt_1"); @Command( [EditInsertText] ; Hentet_Tekst_1 ); @Command([EditGoToField];"Felt_2"); @Command( [EditInsertText] ; Hentet_Tekst_2 ); ..osv. Variablen Hentet_Tekst_#, skulle så være en @dbLookup der hentede det feltindhold du ønsker overført til kalenderaftalen. Absolut ikke elegant, men dog muligt. Desværre kan jeg ikke få EditInsertText til at fungere, så jeg kan ikke teste det. Lotusscript vil helt klart være at foretrække.
Jeg kan under ingen omstændigheder få det til fungere... har prøvet mangte ting nu. Hvordan ville det evt. se ud i lotusscript? Jeg har et eksempel som jeg har fundet på nettet, men jeg kan ikke finde hoved eller hale i det .
Sub Click(Source As Button) Dim db As Notesdatabase Dim session As New NotesSession Dim workspace As New notesuiworkspace Dim uidoc As notesuidocument Dim note As notesdocument Dim item As NotesItem Dim startdttm As NotesDateTime Dim enddttm As NotesDateTime Dim window As NotesDateRange Dim names As String Dim dur As Integer Dim username As String
Set uidoc = workspace.currentdocument Set note = uidoc.Document Set item = note.GetFirstItem("Servicetid_accept") Set startdttm = item.DateTimeValue Set item = note.GetFirstItem("service_varighed") Set enddttm = item.DateTimeValue Set window = session.CreateDateRange() Set window.StartDateTime = startdttm Set window.EndDateTime = enddttm names = session.CommonUserName dur = ((enddttm.TimeDifference(startdttm))+86400)/60 freeTime = session.FreeTimeSearch(window, dur, names, True)
' If there is no value for freeTime(0) then that time is already booked - messagebox constants 0=okonly, 4=yesno, 32=question mark icon, 7=no ' If (freeTime(0) Is Nothing) Then ' If Messagebox ("This time is already booked - do you want to double book?", 4 + 32) = 7 Then ' Messagebox "This document has NOT been added to your calendar. ", 0, "Add Canceled" ' Exit Sub ' End If ' End If
Set db = New notesdatabase("", "") Call db.openmail Dim cEntry As New NotesDocument(db) Dim rtitem As Variant Dim itemIcon As NotesItem username = session.UserName cEntry.From = note.From(0) cEntry.Subject = note.EventDescription Set rtitem = note.GetFirstItem("Body") Call rtitem.CopyItemToDocument(cEntry, "kundenr") cEntry.Form = "Appointment" cEntry.AppointmentType = "2" cEntry.tmpWasMailed = "1" cEntry.ExcludeFromView = "D" cEntry.OrgTable = "P0" cEntry.Location = note.Location cEntry.calendarDateTime = note.datelist Set itemIcon = New NotesItem(cEntry, "_ViewIcon", 9) itemIcon.IsSummary = True cEntry.Logo = "stdNotesLtr0" cEntry.StartDate = note.EventStartDate cEntry.EndDate = note.EventEndDate Call cEntry.save(True, True) Messagebox "This document has been added to your calendar. ", 0, "Add Complete" End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.