Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

vbscript

I need to be able to make separte .vbs files that will (when triggered with a keyboard short-cut) will make the active window maximized, minimized, or restored.

How can I do this without downloading and installing (not allowed here) a separate package.

like image 909
Keng Avatar asked Sep 29 '10 17:09

Keng


3 Answers

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.)

like image 78
Helen Avatar answered Oct 10 '22 01:10

Helen


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
like image 4
Abraham Avatar answered Oct 10 '22 03:10

Abraham


To maximize any window, the following code will work:

Application.SendKeys "%{ }"
Application.Wait (Now + TimeValue("00:00:02"))
Application.SendKeys "x"
like image 1
Bisweswar Swain Avatar answered Oct 10 '22 03:10

Bisweswar Swain