por opermty » 03 Jun 2006 14:18
En la red puedes encontrar cantidad de informacion sobre como obtener la resolucion actual de pantalla pero al menos por ahora no he podido encontrar nada en VBA, encontre con jscript unas lineas pero no lo manejo como para adaptar el codigo a vba, encontre esta opcion de codigo el cual lo puedes modificar al menos para que se mande la resolucion a archivo y sacar el texto del mismo cada cierto tiempo para actualizar la info y hacer los movimientos necesarios:
Codigo:
Type RECT_Type
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Declare Function GetActiveWindow Lib "user32" () As Long
Declare Function GetDesktopWindow Lib "user32" () As Long
Option Compare Database
Option Explicit
Type Rect
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
Declare Function GetDesktopWindow Lib "user32" () As Long
Declare Function GetWindowRect Lib "user32" _
(ByVal hWnd As Long, rectangle As Rect) As Long
'*****************************************************************
' FUNCION: GetScreenResolution()
'
' PROPOSITO:
' Determina el tamaño o resolucion actual de la pantalla.
'
' DEVUELVE:
' La resolucion actual. Tipicamente una de las siguientes:
' 640 x 480
' 800 x 600
' 1024 x 768
'
'*****************************************************************
Function GetScreenResolution() As String
Dim R As Rect
Dim hWnd As Long
Dim RetVal As Long
hWnd = GetDesktopWindow()
RetVal = GetWindowRect(hWnd, R)
GetScreenResolution = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function
Function CheckRes()
Dim c As String
c = GetScreenResolution
If c = "640x480" Then
MsgBox "800x600 O > Resoluicion es Requerida para esta aplicacion." _
& "Se recomienda uncrementar la resolucion y ejecutar el programa. " _
, vbOKOnly + vbCritical
End
End If
End Function
Para cambiar el tamaño segun sea necesario checa los links anexos que postee hace unos momentos.
saludos