Source: http://excelforo.blogspot.com/2016/07/vba-detectando-la-resolucion-de-nuestra.html
Timestamp: 2017-03-30 00:49:38+00:00

Document:
VBA: Detectando la resolución de nuestra pantalla | EXCEL FORO: EJERCICIOS, EJEMPLOS, SOLUCIONES, DUDAS
VBA: Detectando la resolución de nuestra pantalla
Hoy veremos una forma de descubrir desde Excel cuál es la resolución de nuestra pantalla.
Para ello emplearemos la función API 'GetSystemMetrics'.
De igual modo con la función de VBA 'Shell' ejecutaremos el Panel de Control de Windows desde donde modificar esta resolución de pantalla
Insertamos el siguiente código dentro de un módulo estándar del explorador de proyectos del Editor de VB:
'Llamamos a la función API 'GetSystemMetrics'
'damos valor a las constantes de la función API
Sub MuestraResolucionPantalla()
Dim ancho  As Long, alto  As Long
ancho = GetSystemMetrics(SM_CXSCREEN)
alto = GetSystemMetrics(SM_CYSCREEN)
Mensaje = "La resolución actual de pantalla es de " & ancho & " x " & alto & vbCrLf & _
"Quieres cambiar la resolución de pantalla??"
Respuesta = MsgBox(Mensaje, vbYesNo, "Resolución de pantalla!")
'si la respuesta es afirmativa lanzamos un proceso para modificar la resolución de pantalla
'con la función Shell de VBA
'la siguiente función abre el Panel de Control (de Windows) para poder modificar dicha resolución
Call Shell("rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,3")
Al ejecutarla veremos como con el MsgBox recuperamos nuestra resolución.. y si aceptamos (presionamos el botón de Sí) se abrirá: Panel de control\Todos los elementos de Panel de control\Pantalla\Resolución de pantalla

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución