Formulario

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Formulario

Notapor IWOLLS » 02 Jun 2006 17:42

Cuando un formulario tiene un medidas (x) y cambiamos la resolucion de la pantalla , se queda mas pequeño, ¿hay alguna manera de hacer que mantenga el tamaño y se ajuste en proporcion a la resolucion de la pantalla?
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
IWOLLS
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Nov 2005 08:43
Ubicación: Bilbao - ESPAí‘A

Notapor opermty » 03 Jun 2006 10:32

En acces por si alguien le intesa:
ACC2: Cómo cambiar dinámicamente de tamaño formularios de ajustarse a resolución de pantalla
http://support.microsoft.com/kb/138901/es
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 03 Jun 2006 11:03

* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Re: Formulario

Notapor 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
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Re: Formulario

Notapor opermty » 03 Jun 2006 14:55

Esta ruitina me obtiene la resolucion de pantalla, se anexa en modulo

Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN As Long = 0
Const SM_CYSCREEN As Long = 1

Public Property Get ScreenHeight() As Long
' Return screen height in pixels.
ScreenHeight = GetSystemMetrics(SM_CYSCREEN)
End Property

Public Property Get ScreenWidth() As Long
' Return screen width in pixels.
ScreenWidth = GetSystemMetrics(SM_CXSCREEN)
End Property

Sub screen()
MsgBox GetSystemMetrics(nIndex)
End Sub

-------------------------------------------------------------------------
O bien:
-------------------------------------------------------------------------


Sub screen()
MsgBox GetSystemMetrics(nIndex) & "x" & ScreenWidth()
End Sub


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
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX

Notapor opermty » 03 Jun 2006 15:04

Sacando al resolucion de pantalla puedes aunmentar el tamaño de los objetos dentro del formlario pero se me hace algo engorroso el codigo como para implementarlo :S

Saludos
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
opermty
Miembro Frecuente
Miembro Frecuente
 
Registrado: 29 Abr 2006 04:11
Ubicación: MONTERREY NL MX


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: Inti y 8 invitados