Outlook Termin erstellen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von xored.

    Outlook Termin erstellen

    Hi!

    Ich möchte gerne via VB.NET einen Outlook-Termin erstellen.
    Dies klappt auch, ABER..
    es werden keine Teilnehmer eingeladen.
    Der Termin wird erstellt, aber erst wenn ich extra in Outlook zum Termin gehe, Rechtsklick mache, einladen drücke, dann sehe ich die, die ich auch in meiner CheckedListBox
    angehakt habe. Ich möchte aber gerne, dass diese automatisch eingeladen werden. Das ist mein Code:

    VB.NET-Quellcode

    1. Dim app As Microsoft.Office.Interop.Outlook.Application
    2. Dim appt As Microsoft.Office.Interop.Outlook.AppointmentItem
    3. app = New Microsoft.Office.Interop.Outlook.Application
    4. appt = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem)
    5. appt.Subject = tbBetreff.Text
    6. appt.Body = tbInhalt.Text
    7. appt.Location = tbOrt.Text
    8. appt.MeetingStatus = Outlook.OlMeetingStatus.olMeeting
    9. For Each itemChecked In cbContacts.CheckedItems
    10. Dim sentTo As Outlook.Recipients = appt.Recipients
    11. Dim sentInvite As Outlook.Recipient
    12. sentInvite = sentTo.Add(itemChecked.ToString())
    13. sentInvite.Type = Outlook.OlMeetingRecipientType.olRequired
    14. sentTo.ResolveAll()
    15. Next
    16. appt.Start = Convert.ToDateTime(DateTimePicker1.Value)
    17. appt.End = Convert.ToDateTime(DateTimePicker1.Value)
    18. appt.ReminderSet = True
    19. appt.ReminderMinutesBeforeStart = 30
    20. appt.Save()



    Hat da jemand Erfahrung?
    Danke :)

    Gruß, xored


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza
    versuche es so, der Termin wird im Kalender des Empfänger eingetragen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim OutlookApp As Microsoft.Office.Interop.Outlook.Application
    3. OutlookApp = CreateObject("Outlook.Application")
    4. Dim ns As Outlook.NameSpace = Nothing
    5. Dim calendarFolder As Outlook.MAPIFolder = Nothing
    6. Dim items As Outlook.Items = Nothing
    7. Dim appItem As Outlook.AppointmentItem = Nothing
    8. ns = OutlookApp.GetNamespace("MAPI")
    9. calendarFolder = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar)
    10. items = calendarFolder.Items
    11. appItem = items.Add(Outlook.OlItemType.olAppointmentItem)
    12. appItem.Subject = "Meeting"
    13. appItem.Location = "SomeWhere"
    14. appItem.Start = Convert.ToDateTime("06.11.2019 10:00:00")'Datum natürlich anpassen
    15. appItem.End = Convert.ToDateTime("06.11.2019 11:45:00")
    16. appItem.Importance = OlImportance.olImportanceHigh
    17. appItem.Save() '<-- save !!!
    18. 'IMPOTANT! the Appointment must be saved first !!
    19. 'before you can send to a User
    20. 'next operation, send Apponitment to user
    21. Dim mailItem As Outlook.MailItem = appItem.ForwardAsVcal()
    22. mailItem.To = "xyz@t-online.de"
    23. mailItem.Subject = "Termin für Messe "
    24. mailItem.Body = "dein Text"
    25. mailItem.Attachments.Add("E:\TestFolder\op4.pdf")
    26. mailItem.Send()
    27. 'clean up !!
    28. If Not IsNothing(appItem) Then Marshal.ReleaseComObject(appItem)
    29. If Not IsNothing(items) Then Marshal.ReleaseComObject(items)
    30. If Not IsNothing(calendarFolder) Then Marshal.ReleaseComObject(calendarFolder)
    31. If Not IsNothing(ns) Then Marshal.ReleaseComObject(ns)
    32. End Sub

    hab mal deinen Code genommen, also die Namen die ich verwende werden angezeigt

    VB.NET-Quellcode

    1. Dim app As Microsoft.Office.Interop.Outlook.Application
    2. Dim appt As Microsoft.Office.Interop.Outlook.AppointmentItem
    3. app = New Microsoft.Office.Interop.Outlook.Application
    4. appt = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem)
    5. appt.Subject = "Betreff"
    6. appt.Body = "Inhalt"
    7. appt.Location = "Ort"
    8. appt.MeetingStatus = Outlook.OlMeetingStatus.olMeeting
    9. 'For Each itemChecked In cbContacts.CheckedItems
    10. ' Dim sentTo As Outlook.Recipients = appt.Recipients
    11. ' Dim sentInvite As Outlook.Recipient
    12. ' sentInvite = sentTo.Add(itemChecked.ToString())
    13. ' sentInvite.Type = Outlook.OlMeetingRecipientType.olRequired
    14. ' sentTo.ResolveAll()
    15. 'Next
    16. Dim sentTo As Outlook.Recipients = appt.Recipients
    17. Dim sentInvite As Outlook.Recipient
    18. sentInvite = sentTo.Add("Name 2")
    19. sentInvite.Type = Outlook.OlMeetingRecipientType.olRequired
    20. sentInvite = sentTo.Add("Name 3")
    21. sentInvite.Type = Outlook.OlMeetingRecipientType.olOptional
    22. sentTo.ResolveAll()
    23. appt.Start = Date.Now.AddHours(2)
    24. appt.End = Date.Now.AddHours(3)
    25. appt.ReminderSet = True
    26. appt.ReminderMinutesBeforeStart = 30
    27. appt.Save()
    28. appt.Display(True)



    überprüfe mal mit Debug.Print ob deine Namen enthalten sind

    VB.NET-Quellcode

    1. For Each itemChecked In cbContacts.CheckedItems
    2. Dim sentTo As Outlook.Recipients = appt.Recipients
    3. Dim sentInvite As Outlook.Recipient
    4. sentInvite = sentTo.Add(itemChecked.ToString())
    5. sentInvite.Type = Outlook.OlMeetingRecipientType.olRequired
    6. sentTo.ResolveAll()
    7. Next


    hier zum testen

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    2. For Each indexChecked As Integer In CheckedListBox1.CheckedIndices
    3. MessageBox.Show("Index#: " & indexChecked.ToString() & ", is checked. Checked state is:" & CheckedListBox1.GetItemCheckState(indexChecked).ToString() & ".")
    4. Next
    5. For Each itemChecked As Object In CheckedListBox1.CheckedItems
    6. MessageBox.Show("Item with title: """ & itemChecked.ToString() & """, is checked. Checked state is: " & CheckedListBox1.GetItemCheckState(CheckedListBox1.Items.IndexOf(itemChecked)).ToString() & ".")
    7. Next
    8. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Kasi“ ()

    Hey, danke, aber das Problem ist ja nicht das Senden. Alle, die ich anhake, bekommen eine Email, aber nicht mit der typischen Einladung, sondern mit einem Anhang (.vcs-Datei).
    Das meinte ich.

    Gruß


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza