Announcement

Collapse
No announcement yet.

Outlook Task zuweisen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Outlook Task zuweisen

    Hi,

    ich kann zwar kaum glauben, dass das noch niemand gefragt hat, aber die Suche liefert mir keinen Treffer ...

    Also: Ich möchte aus meiner Applikation dem User die Möglichkeit geben, Aufgaben (in diesem Falle sie Überprüfung/Wiedervorlage eines Vorgangs) in dieOutlook-Tasks aufzunehmen, und zwar nicht nur in die eigene, sondern auch in fremde. Der entsprechende Code dazu sieht folgendermaßen aus:

    [highlight=vbnet]
    Dim oApp As Object = Nothing 'Outlook.Application
    Dim task As Object = Nothing 'Outlook.TaskItem
    Try
    oApp = GetObject(, "Outlook.Application")
    If menge.MengeMinus(ctlWiedervorlage.ctlPartnerIDs, session.Benutzer.Partner.PartnerID) <> "" Then
    task = oApp.CreateItem(3) 'olTaskItem

    task.Body = "Wiedervorlage/Überprüfung des Prisma-Vorgangs " & pVorgangID & "(" & txtTitel.Text & ")"
    task.Assign()
    task.DueDate = ctlWiedervorlage.ctlDate
    task.ReminderSet = True
    task.Subject = "Prisma-Aufgabe: Überprüfung Vorgang " & pVorgangID
    Dim CountRecipients = strPartCount(ctlWiedervorlage.ctlPartnerIDs, ",")
    For i As Integer = 1 To CountRecipients
    Dim RecID As Integer = zahl.getLng(strPart(ctlWiedervorlage.ctlPartnerIDs , i, ","))
    If RecID <> session.Benutzer.Partner.PartnerID Then task.Recipients.Add(New clsPartner(RecID).Email)
    Next
    'task.Display()
    task.Send()
    End If
    If menge.enthaelt(ctlWiedervorlage.ctlPartnerIDs, session.Benutzer.Partner.PartnerID) Then
    task = oApp.CreateItem(3)

    task.Body = "Wiedervorlage/Überprüfung des Prisma-Vorgangs " & pVorgangID & "(" & txtTitel.Text & ")"
    task.DueDate = ctlWiedervorlage.ctlDate
    task.ReminderSet = True
    task.Subject = "Prisma-Aufgabe: Überprüfung Vorgang " & pVorgangID
    task.Save()
    End If
    Catch ex As Exception
    ShowInternalError("Fehler beim Erzeugen des TaskItems: " & ex.Message & vbCrLf & vbCrLf & ex.StackTrace)
    Finally
    If task IsNot Nothing Then
    System.Runtime.InteropServices.Marshal.FinalReleas eComObject(task)
    task = Nothing
    End If
    If oApp IsNot Nothing Then
    System.Runtime.InteropServices.Marshal.FinalReleas eComObject(oApp)
    oApp = Nothing
    End If
    Application.DoEvents()
    End Try
    [/highlight]

    Das Problem, das ich jetzt habe ist, dass in dem Moment, wo ich den Task per Assign() in ein TaskRequestItem umwandle, in Outlook eigentlich zwei Felder auftauchen "Aktualisierte Kopie in meiner Aufgabenliste speichern" und "Statusbericht an mich senden", die standardmäßig angehakt sind. Da ich das Fenster aber nicht mehr anzeige, sondern den task sofort versende, bekäme der Sender momentan diesen Task zur Überwachung bei sich eingetragen, egal ob er sich darum kümmern muss oder nicht. Diese Haken müsste ich also programmtechnisch entfernen, ich finde diese Felder aber nicht in der Objektbeschreibung des TaskItem Objektes auf MSDN. Es gibt zwar so etwas wie StatusOnCompletionRecipients, aber das ist soweit ich das verstanden habe nur interessant, wenn ich per Programm einen Statusreport für ein TaskItem versenden will.

    Wie kann ich diese Optionen entfernen?

    Mit freundlichen Grüßen
    Martin Dietz
Working...
X