ja dass die Outlook User keine Weiterleitung haben sondern dass die Mails / Einladungen direkt an Outlook gesendet werden.
Nun da ich diese Einladung ja per Code verschicke bin ich mir nicht sicher ob dies eine ''ganz normale'' ICS-Datei ist. Deswegen denke ich auch das mein Outlook-Client dies auch nicht richtig verarbeiten kann.
Wie soll ich die Verbindung skizzieren? (Ich hab noch nicht so viel Erfahrung mit Notes)
Und ja falls dies es ein bisschen genauer macht habe ich hier noch mein Code:
Sub Initialize
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim server As String
Dim vZeit As String
Dim vZeitA , vZeitE As String
Dim myDate As String
Dim i As Integer
Dim sDatefield As String
Dim did As String
Dim subtext As String
Dim stimerangefield As string
Const vname = "besuchtam"
Dim vdate As Variant
Dim NotesDateRange As NotesDateRange
Dim nid As string
'Dim dtDateStart As New NotesDateTime ( myDate )
'Dim dtDateEnd As New NotesDateTime ( myDate )
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Call WorkSpace.DialogBox("TerminEin",True,True,False,False,False,False,"Eingabe Uhrzeit")
If Hour(doc.vzeit1(0)) < 10 And Hour(doc.vzeit2(0)) < 10 Then
If Left$(doc.VZeit1(0),1) = "0" Then
vzeita = Left$(doc.VZeit1(0),5)
Else
vzeita = Left$(doc.VZeit1(0),4)
End If
If Left$(doc.VZeit2(0),1) = "0" Then
vzeite = Left$(doc.VZeit2(0),5)
Else
vzeite = Left$(doc.VZeit2(0),4)
End If
vZeit = vzeita & "-" & vzeite
End If
If Hour(doc.vzeit1(0)) < 10 And Hour(doc.vzeit2(0)) >= 10 Then
If Left$(doc.VZeit1(0),1) = "0" Then
vzeita = Left$(doc.VZeit1(0),5)
Else
vzeita = Left$(doc.VZeit1(0),4)
End If
vZeit = vzeita & "-" & Left$(doc.VZeit2(0),5)
End If
If Hour(doc.vzeit1(0)) >= 10 And Hour(doc.vzeit2(0)) >= 10 Then
vZeit = Left$(doc.VZeit1(0),5) & "-" & Left$(doc.VZeit2(0),5)
End If
nid = doc.UniversalID
Call Agent_Einladung(doc,vname, nid, Subtext, vzeit)
End Sub
Public Function Agent_Einladung(doc As NotesDocument, sDatefield As String, did As String, SubText As String, sTimeRangeField As String)
Const strMailInDBPfad = "mail/xxxx.nsf"
'On Error GoTo Myerrorhandler
Dim workspace As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim NotesDateRange As NotesDateRange
Dim NotesSession As New NotesSession
Set db = session.CurrentDatabase
Dim NotesDatabaseSource As NotesDatabase
Dim NotesDatabaseTarget As New NotesDatabase( "" , "" )
Dim NotesDocumentSource As NotesDocument
Dim NotesDocumentTarget As NotesDocument
Dim NotesRichTextItem As NotesRichTextItem
Dim vdate As Variant
Dim vZeit As String
Dim vZeitA , vZeitE As String
Dim strDocID As String
'Call maildb.OpenMail
'mailfile = maildb.filepath
'server = maildb.server
'Dim doc As NotesDocument
'Set doc = db.GetDocumentByUNID(strDocID)
'If doc Is Nothing Then
' Print "ABBRUCH - doc not found"
' Exit Function
'End If
'*********************************************
Dim dbMailX As NotesDatabase
Dim docMailX As NotesDocument
Dim rtiMailX As NotesRichTextItem
Dim varStrBody As Variant
Dim arrTeilnehmerListe(2) As Variant
'Dim ndtStart As NotesDateTime
'Dim ndtEnde As NotesDateTime
Dim strTimeZone As String
Dim strExcludeFromView(1) As String
Dim Teilnehmerliste As String
Dim Teilnehmerliste2 As String
Dim Teilnehmerliste1 As String
Dim myDate As String
Dim i As Integer
Dim stime As String
Dim etime As String
Set db = Session.CurrentDatabase
Dim uidoc As NotesUIDocument
Dim ws As New NotesUIWorkspace
Set uidoc = ws.currentdocument
Set doc = uidoc.document
strDocID = doc.Universalid
Teilnehmerliste2 = "notesmail@xxxx.com" + "," + "outlookmail@xxxxx.com"
strExcludeFromView(0) = "D"
strExcludeFromView(1) = "S"
'Daten für Mail/Kalender-DB des Vorstandssekretariats (für TOP-Planung & zu Terminvereinbarungen)
Set dbMailX = session.GetDatabase( "serverx", strMailInDBPfad )
If dbMailX Is Nothing Then
Call dbMailX.Open(db.Server, strMailInDBPfad )
If dbMailX Is Nothing Or Not(dbMailX.IsOpen) Then
Print "ABBRUCH - dbMailX not found"
Exit Function
End If
End If
' Termineinladung...................
Set docMailX = New NotesDocument(dbMailX)
docMailX.Form = "Appointment"
docMailX.From = session.UserName
docMailX.AppointmentType = "3"
docMailX.Subject = "Besprechnungsbeispiel"
Set rtiMailX = New NotesRichTextItem( docMailX, "Body" )
Call rtiMailX.AddNewline(2, False)
Call rtiMailX.AppendText("Folgende Besprechung soll geplant werden … usw." )
Call rtiMailX.AddNewline(1)
Call rtiMailX.Compact
docMailX.Location = "ABC"
docMailX.Chair = session.UserName
docMailX.AltChair = session.UserName
docMailX.Principal = session.UserName
docMailX.~$AltPrincipal = session.UserName
'Set ndtStart = New NotesDateTime( myDate )
'Set ndtEnde = New NotesDateTime( myDate)
Dim dtDateStart As New NotesDateTime ( myDate )
Dim dtDateEnd As New NotesDateTime ( myDate )
If sTimeRangeField = "" Then
sTimeRangeField = "07:00-08:00"
End If
'Set NotesDatabaseSource = NotesSession.CurrentDatabase
Set NotesDateRange = NotesSession.CreateDateRange( )
'Set NotesDocumentTarget = NotesDatabaseTarget.CreateDocument
'Set NotesDocumentSource = NotesDatabaseSource.GetDocumentByUNID( strDocID )
'Fehler
vDate = doc.besuchtam(0)
i=0
sTime = Left(sTimeRangeField,5)
eTime = Right(sTimeRangeField,5)
'ForAll n In vDate
'sTime = "07:00"
If vDate <> "" Then
NotesDateRange.Text = sTime
dtDateStart.Localtime = vDate + " " + NotesDateRange.StartDateTime.TimeOnly
NotesDateRange.Text = eTime
dtDateEnd.Localtime = vDate + " " + NotesDateRange.EndDateTime.TimeOnly
Set NotesDateRange.StartDateTime = dtDateStart
Set NotesDateRange.EndDateTime = dtDateEnd
If i = 0 Then
Call NotesDatabaseTarget.OpenMail
End If
If Not ( NotesDatabaseTarget.IsOpen ) Then
Error 1001, "Unable to open user mailfile to create a new appointment document - exiting"
End If
strTimeZone = "Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=97$ZN=W. Europe"
'strTimeZone = -1
Set docMailX.StartDate = NotesDateRange.StartDateTime
Set docMailX.StartDateTime = NotesDateRange.StartDateTime
Set docMailX.StartTime = NotesDateRange.StartDateTime
'Set docMailX.StartTimeZone = NotesDateRange.StartDateTime
Set docMailX.EndDateTime = NotesDateRange.EndDateTime
Set docMailX.EndDate = NotesDateRange.EndDateTime
Set docMailX.EndTime = NotesDateRange.EndDateTime
'Set docMailX.EndTimeZone = NotesDateRange.EndDateTime
Set docMailX.CalendarDateTime = NotesDateRange.StartDateTime
End If
' End ForAll
docMailX.PreventCounter = "1"
docMailX.PreventDelegate = "1"
docMailX.ExcludeFromView= strExcludeFromView
docMailX.~$Alarm = 1
'docMailX.~$CSVersion = "2"
'docMailX.~$CSFlags = "c"
docMailX.~$PublicAccess = "1"
docMailX.Alarms = "1"
docMailX.~$HFFlags = "1"
docMailX.~$IconSwitcher = "Meeting"
docMailX.~$TableSwitcher = "Description"
docMailX.~$SMTPKeepNotesItems = "1"
docMailX.SchedulerSwitcher = "1"
docMailX.SequenceNum = 1
docMailX.UpdateSeq = 1
docMailX.WebDateTimeInit = 1
docMailX.SendTo = Split(TeilnehmerListe2,",")
docMailX.EnterSendTo = Split(TeilnehmerListe2,",")
docMailX.RequiredAttendees = Split(TeilnehmerListe2,",")
docMailX.~$BusyPriority = "1"
docMailX.~$NoPurge = NotesDateRange.StartDateTime.LocalTime
docMailX.MailOptions=""
docMailX.tmpWhichList = ""
docMailX.OrgTable = "C0"
docMailX.OrgState = "x"
docMailX.Repeats = ""
docMailX.Resources = ""
docMailX.SaveOptions = ""
Call docMailX.ComputeWithForm(False, False)
'Call docMailX.Save(True, False)
Call docMailX.Send(False, Split(TeilnehmerListe2,",")) 'Sende Mail"
'Call workspace.opendatabase("GDEPFL04",strMailInDBPfad,"Calendar", , True , False)
Ende:
Print "End"
'Agenthilfsdok wird beim nächsten Löschturnus mit gelöscht
doc.DeletionFlag = "X"
Call doc.Save( True, False)
Exit Function
Myerrorhandler:
Print "Error: " & Error$ & " (" & CStr(Err) & ") - Line: " & CStr(Erl)
Resume Ende
End Function
Alles anzeigen