Entwickler-Ecke

WinForms - Outlook-Problem


MBaier - Mi 08.02.12 17:36
Titel: Outlook-Problem
Hallo zusammen,
wusste leider nicht recht, in welchen Thread ich das hier schreiben sollte.
Ich möchte gerne einen Einsatz im Outlook Terminkalender anlegen.

Das ganze klappt auch schon, aber Outlook wird nicht wieder freigegeben.
Sprich: Das NotifyIcon zeigt an: Outlook wird gerade von einem anderen Programm verwendet.
Habt ihr eine Idee was ich vergessen habe?


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
outApp = New Microsoft.Office.Interop.Outlook.Application  
 
Dim dBeginn As Date
Dim dEnde As Date

                'Kalendereintrag anlegen
                Dim oKalender As Outlook.AppointmentItem
                oKalender = outApp.CreateItem(Outlook.OlItemType.olAppointmentItem)
                Try
                    'Dim dDate As Date = Convert.ToDateTime(myEinsatz.EINSATZDATUM.Substring(0, 10) + " " + myEinsatz.BEGINN.Substring(12, 16))
                    dBeginn = Convert.ToDateTime(myEinsatz.EINSATZDATUM + " " + myEinsatz.BEGINN)
                    dEnde = Convert.ToDateTime(myEinsatz.EINSATZDATUM + " " + myEinsatz.ENDE)
                Catch ex As Exception

                End Try


                With oKalender
                    .Subject = myEinsatz.AUFTRAGNR + ": " + myEinsatz.BEMERKUNG
                    .Location = myEinsatz.ORT
                    .Body = myEinsatz.AUFTRAGMEMO
                    .BusyStatus = Outlook.OlBusyStatus.olBusy
                    .Start = dBeginn
                    .End = dEnde
                    .Save()
                End With
            End If
        End If


Mit freundlichen Grüßen

Micha

EDIT:
Das ganze ist in VB.NET geschrieben, aber sollte ja kein Problem sein.

Moderiert von user profile iconTh69: Quote- durch Code-Tags ersetzt


Ralf Jansen - Mi 08.02.12 17:44

Du hast nichts vergessen das ist normal. Du kannst deine Outlook Instanz nicht einfach beenden den die hätte ja auch vorher schon in Benutzung gewesen sein könnnen und du hast dich nur an die laufende Instanz angehängt(Outlook ist ein Single Instance Prozess). Der User vor dem Rechner fände das bestimmt nicht nett wenn du im sein Outlook beendest.


MBaier - Mi 08.02.12 18:34

Ok, aber hab ich nicht die Möglichkeit das NotifyIcon wieder normal anzuzeigen, nachdem kurzzeitig in Outlook der Termin eingetragen wurde?

Sonst denkt der User, dass Outlook noch arbeitet.
Wär super wenn das irgendwie ginge.


MBaier - Do 09.02.12 12:47

Das Problem hat sich erledigt.
Ich habe in dem With-Block die Methode .Send() vergessen.
Vielen Dank für deine Hilfe.