Outlook merkt sich Fenstergröße neuer E-Mails nicht
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