Email to Torsten Weber
Feed Icon
.NET User Group Leipzig
Page 1 of 15 in the ITCrowd category Next Page

Aus irgendwelchen Gründen lässt sich eine Outlook-Datendatei mittels scanpst.exe nicht reparieren und die folgende Fehlermeldung kommt immer wieder:

Fehler in der Datei ... Schließen Sie Outlook und alle anderen E-Mail-Anwendungen, und führen Sie das Tool zum Reparieren des Posteinganges ("Scanpst.exe") aus, um die Fehler in der Datei zu diagnostizieren und zu reparieren. Weitere Informationen zu diesem Tool erhalten Sie in der Hilfe.

Folgende Schritte sind notwendig, um die Daten wiederherzustellen:

  1. Microsoft Outlook beenden
  2. Sicherung der korrupten PST-Datei (liegt meistens unter %localappdata%\Microsoft\Outlook)
  3. scanpst.exe (%ProgramFiles(x86)%\Microsoft Office\Office12 bzw. C:\Programme (x86)\Microsoft Office\Office12) ausführen und die korrupte PST-Datei wählen, ingesamt drei Mal, beim zweiten und dritten Mal sollten keine Fehler mehr erscheinen
  4. Microsoft Outlook starten, z. B. E-Mail erstellen und senden, wenn obige Fehlermeldung kommt, bei 5. weiter ansonsten Ende
  5. Datei, Neu, Outlook-Datendatei, Persönliche Ordner (.pst) für Office Outlook, OK
  6. Elemente dürften sich aus der korrupten PST-Datei in die neue Outlook-Datendatei nicht kopieren bzw. verschieben lassen daher: Datei, Importieren/Exportieren, In Datei exportieren, Weiter, dann Persönliche Ordner-Datei (.pst), Weiter wählen, den obersten Ordner auswählen und Unterordner einbeziehen aktivieren, dann Weiter, bei Exportierte Datei speichern unter einstellen, wo diese Daten hin exportiert werden sollen und Fertigstellen wählen
  7. die korrupte PST-Datei durch diese Datei austauschen und Microsoft Outlook starten

Achtung, folgende Einstellungen gehen dadurch unter anderem verloren:

  • benutzerdefinierte Ansichten
  • benutzerdefinierte Regeln
  • benutzerdefinierte Suchordner
  • abonnierte Kalender

Je nachdem was für eine Lösung eingesetzt wird, wächst die Anzahl der E-Mails im Junk-E-Mail Ordner mehr oder weniger schnell. Ich schaue den Ordner ganz selten mit der Hilfe einer benutzerdefinierten Ansicht durch. Wächst die Anzahl ungelesener (besser: nicht überprüfter) E-Mails von 3 auf 333 könnte man verleitet sein, Zeit mit einer Durchsicht zu verschwenden, anstatt den richtigen Zeitpunkt von alleine zu finden. Junk-E-Mails lasse ich deswegen durch ein Makro einfach automatisch als gelesen markieren. Fazit: Da wurde bei Microsoft nicht mitgedacht, wenn jemand überhaupt keine Anzahl angezeigt haben möchte (siehe Abb. 1 und 2).

Einstellung der Anzeige der Elemente in einem Ordner
Abb. 1: Einstellung der Anzeige der Elemente in einem Ordner

Anzeige der Anzahl ungelesener Elemente beim Junk-E-Mail Ordner
Abb. 2: Anzeige der Anzahl ungelesener Elemente beim Junk-E-Mail Ordner

Folgendes Makro markiert empfangene Junk-E-Mails automatisch als gelesen¹:

Public WithEvents olJunkItems As Outlook.Items

Private Sub Application_Startup()
    Set olJunkItems = ThisOutlookSession.Session.GetDefaultFolder(olFolderJunk).Items
End Sub

Private Sub olJunkItems_ItemAdd(ByVal Item As Object)
    Dim junkmail As MailItem
    Set junkmail = Item
        
    junkmail.UnRead = False
    junkmail.Save
End Sub
Public WithEvents olJunkItems As Outlook.Items

Private Sub Application_Startup()
    Set olJunkItems = ThisOutlookSession.Session.GetDefaultFolder(olFolderJunk).Items
End Sub

Private Sub olJunkItems_ItemAdd(ByVal Item As Object)
    Dim junkmail As MailItem
    Set junkmail = Item
        
    junkmail.UnRead = False
    junkmail.Save
End Sub

¹ wie ein solches Makro bei Outlook verwendet wird, steht hier

Der Suchdialog unter Vista ist nicht optimal. Anstatt die Größe von Dateien in KB, MB bzw. GB individuell auswählen zu können, muss der jeweilige Wert immer in KB angegeben werden. 3,5 GB sind 3,5 * 1024 * 1024 = 3670016 KB. Bäh.

Um den Wert nicht ausrechnen zu müssen, kann in dem Feld Suchen rechts oben¹ name:* größe:>3,5GB eingegeben werden. Oder aber z. B. name:P* größe:>=4.608.118.785B, wenn man Dateien finden will, die mit dem Buchstaben P beginnen und größer oder gleich 4.608.118.785 Bytes sind.

Suche bei Windows Vista mit name:* größe:>3,5GB

¹ Der Dialog erscheint, wenn man z. B. des Windows Desktop anzeigt und F3 drückt.

Vor einigen Tagen habe ich eine Anfrage erhalten, die sich auf Erinnerungen bei Microsoft Outlook und die Anpassung davon bezieht. Bei ganztätigen Terminen setzt Outlook 18 Stunden als Erinnerung, wenn die Option Standarderinnerung per Optionen, Reiter Einstellungen aktiviert ist (Abb. 1). Dabei ist egal, ob 15 Minuten oder ein anderer Wert bei Standarderinnerung eingestellt ist, ganz genauso wie egal ist, wie der Beginn bei Arbeitstagen definiert wird (Abb. 2) – Outlook stellt bei den ganztätigen Terminen immer pauschal 18 Stunden bei der Erinnerung ein (Abb. 3, 4). Das Resümee: Da wurde nicht mitgedacht!

Optionen, Standarderinnerung bei Terminen
Abb. 1.: Optionen, Standarderinnerung bei Terminen

Definition der Arbeitswoche / Beginn & Ende eines Arbeitstages
Abb. 2: Definition der Arbeitswoche / Beginn & Ende eines Arbeitstages

Standarderinnerung, die bei einem Termin automatisch eingestellt wird
Abb. 3: Standarderinnerung, die bei einem Termin automatisch eingestellt wird

Standarderinnerung, die bei einem ganztägigen Ereignis automatisch eingestellt wird
Abb. 4.: Standarderinnerung, die bei einem ganztägigen Ereignis automatisch eingestellt wird

Wie lässt sich diese Problemstellung lösen? Indem bei dem Anlegen ganztätiger Termine die Einstellung von 18 Stunden manuell geändert wird. Klar, aber ist das gute User Experience? Also VBA to the rescue! Folgender VBA-Anwendungscode muss in ThisOutlookSession kopiert und gespeichert werden.

Damit Makros unter Outlook funktionieren, muss die Sicherheit etwas weniger restriktiv gesetzt sein. Das findet sich unter Extras, Makro, Sicherheit, Makrosicherheit. Dort ist der Wert Warnungen für alle Makros bzw. Keine Sicherheitsprüfung für Makros einzustellen (vgl. Abb. 5).

Outlook 2007 – Alle Regeln per Makro ausführen, Makrosicherheit festlegen
Abb. 5: Outlook 2007 – Alle Regeln per Makro ausführen, Makrosicherheit festlegen

Wenn nicht, erscheint bei der Ausführung von unsignierten Makros eine Fehlermeldung (Abb. 6).

Outlook 2007 – Fehlermeldung, wenn Makros deaktiviert sind
Abb. 6: Outlook 2007 – Fehlermeldung, wenn Makros deaktiviert sind

Wenn der Wert Warnungen für alle Makros gewählt wird, erscheint dann eine Warnung beim Starten von Outlook (Abb. 7). Demzufolge ist der Wert Keine Sicherheitsüberprüfung für Makros sinnvoll.

Sicherheitshinweis bei Makros durch Outlook 2007
Abb. 7: Sicherheitshinweis bei Makros durch Outlook 2007

Das Makro wird dann über Extras, Makro, Makros, Bearbeiten bei ThisOutlookSession eingefügt (Abb. 8).
Nach einem Neustart von Outlook werden beim Anlegen ganztägiger Termine diese mit 16 h Erinnerung versehen. Über den Wert bei ReminderMinutesBeforeStart kann dieser Zeitraum gesteuert werden.

Was lernen wir daraus? Jeder sollte ein bisschen VB(A) können, meint zumindest vielleicht Microsoft... ;)

Einfügen vom VBA-Anwendungscode in ThisOutlookSession
Abb. 8: Einfügen vom VBA-Anwendungscode in ThisOutlookSession

Public WithEvents olAppointmentItems As Outlook.Items

Private Sub Application_Startup()
    Set olAppointmentItems = ThisOutlookSession.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub

Private Sub olAppointmentItems_ItemAdd(ByVal Item As Object)
    Dim appointment As AppointmentItem
    Set appointment = Item
    
    If appointment.AllDayEvent = True Then
        appointment.ReminderMinutesBeforeStart = 960 '60 Minuten * 16
        appointment.Save
    End If
End Sub
Public WithEvents olAppointmentItems As Outlook.Items

Private Sub Application_Startup()
    Set olAppointmentItems = ThisOutlookSession.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub

Private Sub olAppointmentItems_ItemAdd(ByVal Item As Object)
    Dim appointment As AppointmentItem
    Set appointment = Item
    
    If appointment.AllDayEvent = True Then
        appointment.ReminderMinutesBeforeStart = 960 '60 Minuten * 16
        appointment.Save
    End If
End Sub

Der Spam ist dankenswerterweise durch Maßnahmen von Alex bei unserer Servertechnik stark reduziert worden. Ab und zu kommt Spam dennoch an und ich finde es ist nervend, die üblichen E-Mails wie mit dem Betreff "Viagrrra" zu löschen. Die können von mir aus ohne Zutun automatisch gelöscht werden. Da bin ich immer erstaunt, wie oft ich gefragt werde, was ist, wenn eine wichtige E-Mail dadurch gelöscht wird. Erstens ist es sehr unwahrscheinlich geschäftliche E-Mails mit dem Betreff "Viagrrraaa" zu erhalten, zweitens gibt es eine Sicherung über das Adressbuch. "Aber wenn dann doch..." beantworte ich so: Wer eine E-Mail nicht beantwortet bekommt, fragt erneut an oder greift einfach zum Telefon... und dann ist schweigen bei den Zweifelnden. Tja, Kanalreduktion und die verführerische Einfachheit der elektronischen Kanäle führen zu falschen Anreizen und Fehlsteuerungswirkungen. Aber das ist ein ganz anderes Thema.

Wie benutzerdefinierte Spam-Filter bei Outlook eingerichtet werden, wollte ich nicht bloggen. Da ich sie aber des Öfteren schon einrichten "musste" :), hier als Blogeintrag für das Archiv der Welt.

Die Regeln werden über Extras, Regeln und Benachrichtigungen bei Outlook eingerichtet.

Automatisches Löschen von E-Mails an bestimmte E-Mail-Adressen

  • löscht E-Mails, die an foo@foo.de adressiert sind (nützlich bei E-Mail-Verteilern)

benutzerdefinierte Regel gegen Spam 

Automatisches Löschen von E-Mails von bestimmten Personen / Absendern

  • löscht E-Mails z. B. von
    • "MSNBC Breaking News" oder "Max Mustermann"
  • sofort, wenn das als Absender bei der E-Mail-Anwendung des Absenders eingestellt wurde
  • und der Absender nicht im Adressbuch enthalten ist
     Absender MSNBC Breaking News

benutzerdefinierte Regel gegen Spam

Automatisches Löschen von E-Mails mit einem bestimmten Betreff

  • löscht E-Mails z. B. mit dem Betreff
    • "Blaues Wunder"
  • sofort, außer der Absender ist im Adressbuch enthalten

benutzerdefinierte Regel gegen Spam

Automatisches Löschen von E-Mails mit einem bestimmten Inhalt

  • löscht z. B. E-Mails bei denen irgendwo im Inhalt steht
    • "Die Aktienempfehlung des Monats"
  • sofort, außer der Absender ist im Adressbuch enthalten

benutzerdefinierte Regel gegen Spam

Page 1 of 15 in the ITCrowd category Next Page

Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber
Boldness, risk‐taking and a little bit of craziness – lateral thinker Torsten Weber

Torsten Weber is a MVP for Device Application Development

Calendar of the .NET User Group Leipzig

Microsoft Community Leader/Insider Program

Programmieren mit dem .NET Compact Framework. Anwendungsentwicklung für mobile Geräte.

Microsoft – change the mobile world or go home!

Categories

Calendar

<November 2008>
SunMonTueWedThuFriSat
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

Archive

My subscribed blogs

show all
show less
Blogs of good friends (as OPML)
More Blogs (as OPML)