Kontakte sicher löschen: Diese Outlook-Makros schützen vor Fehlern

Outlook VBA

Haben Sie schon einmal aus Versehen einen wichtigen Kontakt in Outlook gelöscht und erst später bemerkt, dass dieser in der Liste fehlt? Solche Fehler können ärgerlich und zeitaufwendig sein – besonders, wenn der Kontakt mühsam aus dem Papierkorb wiederhergestellt werden muss. Mit ein paar cleveren VBA-Makros können Sie dieses Problem ein für alle Mal lösen!

In diesem Beitrag zeigen wir Ihnen, wie Sie eine Bestätigungsabfrage einfügen, bevor ein Kontakt gelöscht wird. Egal, ob Sie mehrere Kontakte gleichzeitig auswählen oder einen einzelnen Kontakt im geöffneten Fenster bearbeiten – mit diesen Makros behalten Sie die volle Kontrolle und vermeiden ungewollte Löschaktionen.

Makros zur Bestätigung beim Löschen von Kontakten in Outlook

Hier sind zwei VBA-Makros, die die Bestätigung verlangen, bevor ein Kontakt gelöscht wird. Eines funktioniert mit ausgewählten Kontakten, während das andere mit geöffneten Kontakten arbeitet.


Lösungsansatz:

  1. Bestätigung beim Löschen ausgewählter Kontakte: Dieses Makro prüft, ob ein Kontakt ausgewählt ist, und fordert den Benutzer auf, die Löschung zu bestätigen.
  2. Bestätigung beim Löschen eines geöffneten Kontakts: Dieses Makro wird verwendet, wenn ein Kontakt in einem separaten Fenster geöffnet ist.

Makro 1: Bestätigung beim Löschen ausgewählter Kontakte

Sub ConfirmContactDeletion_SelectedContacts()
Dim objSelection As Selection
Dim objContact As ContactItem
Dim intResponse As Integer

' Auswahl im aktuellen Ordner abrufen
Set objSelection = Application.ActiveExplorer.Selection

' Überprüfen, ob Kontakte ausgewählt sind
If objSelection.Count = 0 Then
MsgBox "Es wurden keine Kontakte ausgewählt.", vbExclamation
Exit Sub
End If

' Für jeden ausgewählten Kontakt bestätigen
For Each objContact In objSelection
intResponse = MsgBox("Möchten Sie den Kontakt '" & objContact.FullName & "' wirklich löschen?", vbYesNo + vbQuestion, "Löschen bestätigen")
If intResponse = vbYes Then
objContact.Delete
Else
MsgBox "Kontakt wurde nicht gelöscht.", vbInformation
End If
Next objContact
End Sub

Erläuterung:

  • Dieses Makro verarbeitet alle ausgewählten Kontakte.
  • Es zeigt einen Bestätigungsdialog an, bevor jeder Kontakt gelöscht wird.
  • Wenn die Aktion abgebrochen wird, bleibt der Kontakt erhalten.

Makro 2: Bestätigung beim Löschen eines geöffneten Kontakts

Sub ConfirmContactDeletion_OpenedContact()
Dim objContact As ContactItem
Dim intResponse As Integer

' Aktives Element abrufen
On Error Resume Next
Set objContact = Application.ActiveInspector.CurrentItem
On Error GoTo 0

' Überprüfen, ob ein Kontakt geöffnet ist
If objContact Is Nothing Or objContact.Class <> olContact Then
MsgBox "Es ist kein Kontakt geöffnet.", vbExclamation
Exit Sub
End If

' Bestätigung anzeigen
intResponse = MsgBox("Möchten Sie den Kontakt '" & objContact.FullName & "' wirklich löschen?", vbYesNo + vbQuestion, "Löschen bestätigen")
If intResponse = vbYes Then
objContact.Delete
Else
MsgBox "Kontakt wurde nicht gelöscht.", vbInformation
End If
End Sub

Erläuterung:

  • Dieses Makro wird für den Kontakt verwendet, der gerade in einem separaten Fenster geöffnet ist.
  • Es überprüft, ob der geöffnete Eintrag tatsächlich ein Kontakt ist.

Optional: Verschieben ohne Warnung

Wenn Sie vermeiden möchten, dass die Bestätigung ausgelöst wird, wenn ein Kontakt in einen anderen Ordner verschoben oder kopiert wird, können Sie folgende Zeile entfernen oder anpassen:

If objContact.Parent = TargetFolder Then Exit Sub

Diese Logik ist hilfreich, wenn Kontakte lediglich zwischen Ordnern verschoben werden sollen, ohne als „gelöscht“ zu gelten.


Hinweise:

  1. Stellen Sie sicher, dass die Makros in der VBA-Umgebung von Outlook (Alt + F11) eingefügt und aktiviert sind.
  2. Aktivieren Sie Makros in den Outlook-Einstellungen, um die Skripte auszuführen.
  3. Testen Sie die Skripte in einer sicheren Umgebung, bevor Sie diese auf produktive Kontakte anwenden.

-

Vorheriger Artikel Nächster Artikel

Hat Ihnen der Beitrag gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA eingeben * Das Zeitlimit ist erschöpft. Bitte CAPTCHA neu laden.