StartDownloadsServiceBeispieleWorkshopsKontakt DeutschEnglish
 
Beispiele
Allgemein
Outlook®
 
Awarded by
Microsoft since 2005:
mvp logo
VBOffice Info
Besucher1392926
Aufrufe5104453
Links
Impressum
Datenschutz
Kontakt
Journal: Neuen Eintrag auf Basis eines vorhandenen erstellen
Autor: Michael BauerHomepage
Datum: 03.04.2007Zugriffe: 16084
  
Beschreibung

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 kopiert alle relevanten Daten aus einem gerade selektierten Eintrag hinein. Als Startzeit wird die aktuelle Zeit festgelegt.

Erstellen Sie sich einfach einen Button, der das Makro startet - und schon können Sie wieder täglich einiges an Zeit einsparen.

Public Sub CreateNewFromCurrentItem()
  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
 
 

ReplyAll warnt Sie, bevor Sie unbeabsichtigt allen Empfängern einer E-Mail antworten oder wenn Sie ein vertraulicher BCC-Empfänger der E-Mail ... [weiter]

 

Blitzschneller Zugriff auf die Hauptkategorienliste, gemeinsame Kategorien im Netzwerk, eine Erinnerungsfunktion ... [weiter]

 

SAM legt automatisch Absender, Signatur und Speicherort für gesendete Mails fest, z.B. anhand der ... [weiter]

 

OLKeeper verhindert zuverlässig, dass Mitarbeiter Outlook schließen und dadurch Termine oder E-Mails ... [weiter]

So entgeht Ihnen kein Auftrag mehr:
Telefonservice und Sekretariatsservice