I made an AutoHotkey solution to this problem. Pretty whacky that we have to do this ourselves, it makes no sense that Outlook forces same pixel size views on completely different screen resolutions.
ChangeViewOutlook(keysDownRight:="{Down}{Right}") ; default is Home, Down, Right, Enter
{
Sleep 1
WinActivate ahk_class rctrl_renwnd32 ahk_exe outlook.exe ; the focus easily goes elsewhere, thus we have to make sure Outlook gets it
temp=9000 ; timer in ms (actual time is longer due to possible slowness of this code)
temp2=0
Loop
{
IfWinExist, ahk_class rctrl_renwnd32 ahk_exe outlook.exe
break
Sleep 10
temp2+=10
If (temp2>=temp)
{
TrayTip Couldn't open Outlook,`n
Return
}
}
WinActivate ahk_class rctrl_renwnd32 ahk_exe outlook.exe
WinWaitActive ahk_class rctrl_renwnd32 ahk_exe outlook.exe,, 8
If ErrorLevel
{
TrayTip Couldn't open Outlook,`n
Return
}
WinActivate ahk_class rctrl_renwnd32 ahk_exe outlook.exe
Send !vcv{Home}%keysDownRight%{Enter} ; View, Change View, move the selector
Send !h{Esc 2} ; go back to tab Home and clear the alt-tip-letters
}
+!h:: ; Microsoft Outlook launch/focus + Change View according to computer (workaround for Outlook's fixed view problem)
; Note! You have to launch Outlook with Win10_Open_Outlook.vbs when clicking an icon to Open Outlook
; when opening Outlook by mouse instead of keyboard. Otherwise the Change View won't be done.
SetTitleMatchMode, RegEx
WinActivate .*Outlook ahk_class rctrl_renwnd32
IfWinExist, .*Outlook ahk_class rctrl_renwnd32
{
WinActivate .*Outlook ahk_class rctrl_renwnd32
}
Else
{
If InStr(A_ComputerName, "MyComputer1", false) ; false here means case insensitive
{
Run, "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE"
ChangeViewOutlook("{Down}{Right}")
}
Else If InStr(A_ComputerName, "MyComputer2", false)
{
Run, "C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE"
ChangeViewOutlook("{Down}{Right 3}")
}
Else If InStr(A_ComputerName, "MyComputer3", false)
{
ComObjCreate( "Shell.Application" ).Windows.FindWindowSW( 0 , 0 , 8 , 0 , 1 ).Document.Application.ShellExecute( """C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE""" ) ; on certain setups, we have to load as non-elevated, not as an admin, because otherwise the quicksearch and drag'n'drop is crippled (this assumes that the .ahk was ran as admin)
ChangeViewOutlook("{Down}")
}
Else
{
Run, "C:\Program Files\Microsoft Office\Office15\OUTLOOK.EXE"
ChangeViewOutlook("{Down}{Right 2}")
}
}
SetTitleMatchMode, 1 ; = STARTS WITH (back to default)
Return
And then you replace this as the Outlook icon's target, Win10_Open_Outlook.vbs:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "+%h"
' Note: VBScript doesn't support # (WinKey) but +^ work fine, and alt is % (shift is +).
And thus you can use any number of computers with Outlook, using the same exact profile, still having different custom Inbox views for each computer (this code changes the view quickly according to the computer name). So you have to understand a bit of the code to edit it to match your systems. And you have to create and save views for each computer. Name them according to the computer name. All your Outlooks will then show all computers' views in the Change View selector. Views are then selected there with {Down}{Right}{Enter} or similar.
After you configure this correctly, you can just open Outlook on each computer and the script will very quickly change the view to the right one just after Outlook has loaded.