How can I maximize, restore, or minimize a window with a vb script?

VBScript and Windows Script Host don't provide intrinsic functions for maximizing/minimizing/restoring a window. Without any third-party tools, your only option is to use SendKeys to simulate keyboard the shortcuts of the corresponding commands in a window's system menu.

  • To maximixe the active window, you can simulate the Alt+SpaceBar, x shortcut:

    Set oShell = CreateObject("WScript.Shell")
    oShell.SendKeys "% x"
    
  • To minimize the active window, use Alt+SpaceBar, n:

    Set oShell = CreateObject("WScript.Shell")
    oShell.SendKeys "% n"
    
  • To restore the active window, use Alt+SpaceBar, r:

    Set oShell = CreateObject("WScript.Shell")
    oShell.SendKeys "% r"
    

(Note that this code won't work in non-English Windows versions, where the names of the Maximize/Minimize/Restore commands are localized and therefore have other shortcuts.)


SendKeys was not working in my computer. Spanish native with Spanish and English keyboard. I did this and worked in my code as instruction and worked to maximize my excel window. I put the .Sleep to visually check it.

objExcel.SendKeys"% x"
objExcel.Visible = True
objExcel.SendKeys"% x"

WScript.Sleep 2000

Tags:

Vbscript