Outlook merkt sich Fenstergröße neuer E-Mails nicht

Zuletzt geändert am 03. April 2013

Wird eine neue E-Mail geöffnet, so erscheint diese in einem relativ kleinen Fenster. Nach dem die Größe geändert wurde, merkt sich Outlook® diese nur bis zum nächsten Start.

Dabei betrifft das Problem nicht nur E-Mails, sondern allgemein alle Outlook®-Elemente. Es ist anzunehmen, dass es sich hier nicht um ein spezielles Problem von Outlook®, sondern von Windows 7 handelt, da das Problem z. B. auch beim Windows-Explorer auftritt. Allerdings wurde es bisher nur bei eingeschränkten Benutzerkonten beobachtet. Bei Konten mit Adminrechten tritt das Problem nicht auf.

Um das Problem für Outlook® zu umgehen, wurde das folgende Makro geschrieben.

Ab Outlook® 2000

Option Explicit
 
'=========================================================================
' Öffnet alle Outlook-Elemente maximiert
' (c) Peter Marchert - http://www.outlook-stuff.com/
' 2011-01-10 Version 1.0.0
'=========================================================================

' "WithEvents" bedeutet, dass diese Variablen auf Ereignisse reagieren
Private WithEvents m_colInspectors As Outlook.Inspectors    ' Alle Formulare
Private WithEvents m_objInspector As Outlook.Inspector      ' Einzelnes Formular

Private Sub Application_Startup()
 
    '---------------------------------------------------------------------
    ' Referenz auf alle Formulare setzen
    '---------------------------------------------------------------------
    Set m_colInspectors = Outlook.Inspectors
 
End Sub
 
Private Sub m_colInspectors_NewInspector(ByVal Inspector As Inspector)
 
    '---------------------------------------------------------------------
    ' Dieser Code wird ausgeführt, wenn ein Formular (z. B. eine E-Mail)
    ' geöffnet wird.
    '---------------------------------------------------------------------
    
    '---------------------------------------------------------------------
    ' Funktioniert hier nicht, weil das Formular noch nicht angezeigt wird
    '---------------------------------------------------------------------
    'Inspector.WindowState = olMaximized
    
    '---------------------------------------------------------------------
    ' Referenz auf neues Formular setzen, um auf dessen Ereignisse reagieren
    ' zu können.
    '---------------------------------------------------------------------
    Set m_objInspector = Inspector
 
    '---------------------------------------------------------------------
    ' Referenz auf Formular löschen
    '---------------------------------------------------------------------
    Set Inspector = Nothing
 
End Sub
 
Private Sub m_objInspector_Activate()
 
    '---------------------------------------------------------------------
    ' Formular beim Öffnen maximieren
    '---------------------------------------------------------------------
    m_objInspector.WindowState = olMaximized
 
    '---------------------------------------------------------------------
    ' Referenz auf einzelnes Formular löschen
    '---------------------------------------------------------------------
    Set m_objInspector = Nothing
 
End Sub
 
Private Sub Application_Quit()
 
    '---------------------------------------------------------------------
    ' Referenz auf alle Formulare löschen
    '---------------------------------------------------------------------
    Set m_colInspectors = Nothing
 
End Sub