Domino 9 und frühere Versionen > ND6: Entwicklung

Kalendereinträge automatisch erstellen

<< < (2/5) > >>

novus246:
so siehts aus:

Sub Click(Source As Button)
   Set s = New NotesSession
   Set ws = New NotesUIWorkspace
   Set uidb = s.CurrentDatabase
   Set uiDocA = ws.CurrentDocument   
   Call uiDocA.Refresh
   Call uiDocA.Save
   Set docA = uiDocA.Document
   Einlad = docA.SendTo
   AnfangD = uiDocA.FieldGetText("start_termin")
   EndeD = uiDocA.FieldGetText("ende_termin")
   AnfangZ = Strleft(uiDocA.FieldGetText("beginn"), "-")
   EndeZ = Strright(uiDocA.FieldGetText("ende"), "-")
   tmpOrt = uiDocA.FieldGetText("ort")
   tmpBody = uiDocA.FieldGetText("Titel")
   tmpDokuTitel = uiDocA.FieldGetText("Inhalt")
   tmpKundenName = uiDocA.FieldGetText("referent")   
   tmpSubject = tmpKundenName & " -> " & tmpDokuTitel
   tmpSRV = uiDocA.FieldGetText("srv_1")
   tmpMAIL = uiDocA.FieldGetText("MailDatei")
   Set db = New NotesDatabase( tmpSRV, tmpMAIL )
   Call MailSenden()
End Sub


Habe einfach das rausgenommen, was ich nicht brauche bzw. nicht habe

just.do.it:
Hmm, ohne den Code, der sich hinter der Prozedur MailSenden verbirgt ist schwer zu beurteilen, ob das alles so Sinn macht.

Gruß
Dirk

Fedaykin:
Hi Sandra

Habe mir mal einen Agent gebaut der mir mehrtägige Veranstaltung erstellt.

Sub Initialize
   Dim session As New NotesSession
   Dim dbMailbox As New NotesDatabase( "", "" )
   Dim docAppointment As NotesDocument
   Dim dateRange As NotesDateRange
   Dim dauer As Integer
   Dim tmpdate As String
   Dim tmpdate2 As String
   Dim datum_von As String
   Dim datum_bis As String
   Dim Betreff As String
   Dim startDate As NotesDateTime
   Dim endDate As NotesDateTime
   Dim CalendarDateTime() As NotesDateTime
   Dim i As Long
   
   datum_von = "20.11.2007"
   datum_bis = "23.11.2007"
   Betreff="Seminar"
   
   dbMailbox.OpenMail
   If Not dbMailbox Is Nothing Then
      Set startDate=New NotesDateTime(datum_von)
      Set endDate=New NotesDateTime(datum_bis)
      
      dauer=endDate.TimeDifference(startDate)/60/60/24
      
      Set docAppointment=New NotesDocument(dbMailbox)
      With docAppointment
         .Form = "Appointment"
         .subject = Betreff
         .AppointmentType="2"
         Set dateRange = session.CreateDateRange
         
         tmpDate = datum_von + " 00:00:01"
         tmpDate2 = datum_bis + " 23:59:59"
         
         Set dateRange.StartDateTime = startDate
         Set dateRange.EndDateTime = endDate
         Set .TimeRange = dateRange
         
         Redim CalendarDateTime(dauer)
         For i=0 To dauer
            Set CalendarDateTime(i)=New NotesDateTime(tmpDate)
            CalendarDateTime(i).AdjustDay(i)
         Next
         .ReplaceItemValue "CalendarDateTime",CalendarDateTime
         .SequenceNum = 1
         .OrgTable = "P0"
         
         Set .StartDateTime = New NotesDateTime (tmpDate)
         Set .StartDate = New NotesDateTime (tmpDate)
         Set .EndDateTime = New NotesDateTime (tmpDate2)
         Set .EndDate = New NotesDateTime (tmpDate2)
         
         .ComputeWithForm False,False
         .Save False,False
      End With
   End If
End Sub

Hoffe hilft Dir weiter.

Gruss
Remo

novus246:
Hallo Remo und Dirk,

klar MailSenden hab ich vergessen. Hier der Code

Function MailSenden()
   Set docM = db.CreateDocument
   Set item = docM.GetFirstItem( "SendTo" )
   docM.Form = "Appointment"
   docM.AppointmentType = "3"
   docM.EnterSendTo = user
   docM.SendTo = user
   docM.RequiredAttendees = user
   docM.AltRequiredNames = user
   docM.tmpRequiredAttendees  = user
   docM.Subject = tmpSubject
   docM.Location = tmpOrt
   docM.Body = tmpBody
   Set rtitem = New NotesRichTextItem( docM, "Body" )
   Call rtitem.AppendText( tmpBody )
   Call rtitem.AddNewLine( 2 )
   Call rtitem.AppendText( "Dokumentverknüpfung:  " )
   Call rtitem.AppendDocLink ( docA, tmpSubject )
   docM.StartDateTime =Cdat(AnfangD & " " & AnfangZ)
   docM.EndDateTime =Cdat(EndeD & " " & EndeZ)
   docM.StartDate = Cdat(AnfangD)
   docM.EndDate = Cdat(EndeD)
   docM.StartTime =Cdat(AnfangZ)
   docM.EndTime = Cdat(EndeZ)
   DocM.~$PublicAccess = "1"
   docM.CalendarDateTime =Cdat(AnfangD & " " & AnfangZ)
   Call docM.ComputeWithForm( False, False )
   Call docM.Save( True, True )
   If (user(0) <> "") Then
      Call docM.Send( False, Einlad )
   End If
   Call docM.Save( True, True )
   
End Function

Danke und Gruss

just.do.it:
Und was genau sind die Symptome? Kommt die Einladung nicht an? Oder gibt es eine Fehlermeldung?

Gruß
Dirk

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln