Discussion:
Formularios a pantalla completa para VBA
(demasiado antiguo para responder)
Pol3
2004-02-15 22:36:52 UTC
Permalink
Hola, Tengo una duda que necesito la ayuda de algún experto, la
pregunta es la siguiente por si me pueden ayudar:
¿es posible crear código con VBA para que cuando se abra un documento
el cual contiene un formulario creado con VBA, (UserForm), éste se amplie a
pantalla completa, (detectando la resolución de la pantalla y el tamaño)?

Por ahora utilizo para desplegar el formulario el siguiente código:
'He colocado un ScrollBar y en el evento Change le pongo este código:
Private Sub ScrollBar_Change()
Me.Zoom = ScrollBar.Value
Me.Width = StartW * (ScrollBar.Value / 100)
Me.Height = StartH * (ScrollBar.Value / 100)
LabZoom.Caption = ScrollBar.Value & "%"
If Me.Left > 0 Then
Me.Left = Me.Left - 3
End If
If Me.Top > 0 Then
Me.Top = Me.Top - 3
End If
'también hay que declarar las variables en declaración general de
variables.
End Sub

'En el evento activate le pongo el siguiente código:
Private Sub UserForm_Activate()
StartW = Me.Width
StartH = Me.Height
Ver_Datos_Unidad
End Sub

- Con esto consigo agrandar el formulario, he podido conseguir de la
ayuda de VBA el código para detectar la resolución de la pantalla, que es el
siguiente:
En este ejemplo se muestra la resolución de pantalla actual; por
ejemplo, "1024 x 768".

Dim lngHorizontal As Long
Dim lngVertical As Long

lngHorizontal = System.HorizontalResolution
lngVertical = System.VerticalResolution
MsgBox "Resolution = " & lngHorizontal & " x " & lngVertical


¿Me podriais ayudar a adaptarlo para que al abrir el formulario
detecte la resolución y el formulario aplique el zoom necesario para que se
adapte a pantalla completa?
He comprobado que en mi monitor de 17 pulgadas y resolución 1024 x
768, el formulario ocupa la pantalla con un zoom de 110 % y en un monitor de
15 pulgadas y la misma resolución necesita un 90 %.
Gracias de antemano.
Un experto me ha dicho que en Visual Basic se puede hacer de la
siguiente forma, pero no me funciona en VBA:

Private Sub Formulario_Initialize()
Me.Height = Screen.Height / 2
Me.Width = Screen.Width / 2
Me.Top = (Screen.Height / 2) - (Me.Height) / 2
Me.Left = (Screen.Width / 2) - (Me.Left) / 2
End Sub
Isa
2004-02-17 11:06:17 UTC
Permalink
-----Mensaje original-----
Hola ! No se si esto te servirá pero bueno , por lo menos
algo es algo.
Todo depende de si tu formulario es mdi (formulario hijo )
o no lo es. En caso de ue no se un formulario mdi creo que
te podria funcionar asi :

me.Height=screen.Height
me.width=screen.Width

Espero que te sirva.
Saludos y suerte.Isa

Continúe leyendo en narkive:
Loading...