VBOffice

NewInspector und Inspector_Activate

Manche Eigenschaften einer Email lassen sich erst ändern, wenn das Fenster zum ersten Mal aktiviert wird.

Zuletzt geändert: 20.03.2007 | Aufrufe: 66.628  | #47
◀ Vorheriges Beispiel Nächstes Beispiel ▶
Reporter Reporter
Mit dem Reporter erstellen Sie Berichte für Ihre Outlook Daten. Mit wenigen Klicks werden Werte aus Aufgaben, Terminen und dem Journal summiert.

Das NewInspector-Ereignis wird gefeuert, wenn ein Element geöffnet wird. Theoretisch ist das also der geeignete Zeitpunkt, um Änderungen vorzunehmen, z.B. einer neuen E-Mail Text hinzuzufügen.

Es gibt aber Objekteigenschaften, die zu dem Zeitpunkt noch nicht zur Verfügung stehen. Wenn Sie z.B. den Betreff einer E-Mail im NewInspector-Ereignis ändern, dann sehen Sie den neuen Betreff nicht.

In solchen Fällen wird zusätzlich das Activate-Ereignis des Inspectors genutzt; das feuert nach dem NewInspector, wenn Sie einen Verweis auf den neuen Inspector haben.

(Es wäre nicht Outlook, gäbe es keine Ausnahmen: TaskItems z.B. können sofort im NewInspector bearbeitet werden und feuern beim ersten Anzeigen kein Activate-Ereignis.)


tip  So fügen Sie Makros in Outlook ein
Private WithEvents m_Inspectors As Outlook.Inspectors
Private WithEvents m_Inspector As Outlook.Inspector

Private Sub Application_Startup()
  Set m_Inspectors = Application.Inspectors
End Sub

Private Sub m_Inspectors_NewInspector(ByVal Inspector As Outlook.Inspector)
  If TypeOf Inspector.CurrentItem Is Outlook.MailItem Then
    'Nur reagieren, wenn eine Email geöffnet wird
    Set m_Inspector = Inspector
  End If
End Sub

Private Sub m_Inspector_Activate()
  Dim Mail As Outlook.MailItem
  Set Mail = m_Inspector.CurrentItem
  If Len(Mail.EntryId) = 0 Then
    'Betreff nur ändern, wenn es eine neue Email ist
    Mail.Subject = "test"
  End If
  Set m_Inspector = Nothing
End Sub
OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.
email  Senden Sie eine Nachricht