VBOffice

Journaleintrag auf Basis einer Vorlage erstellen

Diese Makro vereinfacht das Erstellen sich wiederholender Journaleinträge, z.B. wenn Sie oft an dem gleichen Projekt arbeiten.

Zuletzt geändert: 03.04.2007 | Aufrufe: 55.243  | #49
◀ Vorheriges Beispiel Nächstes Beispiel ▶
OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.

Das Journal in Outlook läßt sich hervorragend nutzen, um Arbeitszeiten aufzuzeichnen. Häufig kommt es dabei vor, dass z.B. für ein Projekt zahlreiche Einträge erstellt werden, die aus immer den gleichen Daten bestehen - bis auf die Startzeit und Dauer natürlich.

Damit Sie nicht jedes Mail den gleichen Betreff, die gleichen Kontaktdaten und Kategorien eingeben müssen, könnten Sie mit der Maus eine Kopie eines schon vorhandenen Eintrags erstellen und eine neue Startzeit eintragen. Der Nachteil ist aber, dass alle diese kopierten Einträge das gleiche Datum für die Erstellzeit aufweisen. Das macht eine chronologische Sortierung unmöglich. Folgendes VBA-Beispiel erstellt deswegen einen neuen Journaleintrag und fügt alle relevanten Daten aus dem gerade ausgewählten Eintrag ein. Als Startzeit wird die aktuelle Zeit festgelegt.

Wenn aktuell eine Aufgabe ausgewählt ist, wird auf dem gleichen Wege eine Kopie der Aufgabe erstellt.

Erstellen Sie sich einfach einen Button, der das Makro startet oder starten Sie es mit ALT+F8 - und schon können Sie wieder täglich einiges an Zeit einsparen.


tip  So fügen Sie Makros in Outlook ein
Public Sub CopyCurrentItem()
  Dim obj As Object
  Dim Sel As Outlook.Selection
  Dim J1 As Outlook.JournalItem
  Dim J2 As Outlook.JournalItem
  Dim Links1 As Outlook.Links
  Dim Links2 As Outlook.Links
  Dim T1 As Outlook.TaskItem
  Dim T2 As Outlook.TaskItem
  Dim i&
  Dim Link As Outlook.Link
  Dim F As Outlook.MAPIFolder

  Set Sel = Application.ActiveExplorer.Selection
  If Sel.Count Then
    Set obj = Sel(1)
    Set F = obj.Parent

    If TypeOf obj Is Outlook.JournalItem Then
      Set J1 = obj
      Set J2 = F.Items.Add(olJournalItem)

      With J1
        J2.Categories = .Categories
        J2.Companies = .Companies
        J2.ContactNames = .ContactNames
        J2.start = Now
        J2.Subject = .Subject
        J2.Type = .Type
      End With

      Set Links1 = J1.Links
      Set Links2 = J2.Links

      On Error Resume Next
      For i = 1 To Links1.Count
        Set Link = Links1(i)
        Links2.Add Link.Item
      Next

      J2.Save
      J2.Display

    ElseIf TypeOf obj Is Outlook.TaskItem Then
      Set T1 = obj
      Set T2 = F.Items.Add(olTaskItem)

      With T1
        T2.Categories = .Categories
        T2.Companies = .Companies
        T2.ContactNames = .ContactNames
        T2.Subject = .Subject
      End With

      Set Links1 = T1.Links
      Set Links2 = T2.Links

      On Error Resume Next
      For i = 1 To Links1.Count
        Set Link = Links1(i)
        Links2.Add Link.Item
      Next

      'T2.Save
      T2.Display
    End If

    Set T1 = Nothing: Set T2 = Nothing
    Set J1 = Nothing: Set Links1 = Nothing
    Set J2 = Nothing: Set Links2 = Nothing
    Set obj = Nothing

  End If
End Sub
SAM SAM
Legen Sie fest, mit welcher "Identität" Ihre Emails beim Empfänger erscheinen sollen. Mit SAM bestimmen Sie den Absender und Speicherort für Emails anhand von Regeln.
email  Senden Sie eine Nachricht