Resolución de pantalla

Que pena molestarte de nuevo, pero me gustó la manera en la que respondes.
De nuevo yo con algunas preguntitas
Hay manera de hacer que al abrir un libro de excel, ¿éste se abra con una resolución de 1024 * 768?
Se puede generar una "portada" como la que se muestra al abrir excel, ¿pero para el libro?
De nuevo disculpa las molestias, y muchas MUCHAS gracias por tu tiempo
Jorge

1 respuesta

Respuesta
1
No es molestia, para mi es un placer y una obligación poder despejar dudas o ayudar a otros, ya que yo también aprendo de esta manera.
Sobre el tema de la "portada" lo que puedes hace es un form (en el editor de macros, clikck botón der / insertar / userform
En el mismo puedes insertar una imagen, etiquetas (para mostrar un texto, botones, cuadro de texto (para ingresar datos). Etc-
Luego lo que tienes que hace es "mostrar" el form en el evento open del workbook:
Private Sub Workbook_open()
          userform.show
end sub
o crear una rutina que se llame auto_open() en la que pones la mism linea.
Sobre el tema de cambiar la resolución, creo de mi parte que no se puede, de todas maneras, me imagino que lo que quieres es ajustar tu planilla a esa resolución por lo que paso un código que encontré en la red.
Option Explicit
'definimos un tipo, que luego será pasado como argumento a la API
Type RECT
x1 As Long
y1 As Long
x2 As Long
y2 As Long
End Type
'bueno, mis queridas APIS. son un tanto difíciles de comprender, pero extremadamente
'utiles para todo programador.
'para hacerlo mas sencillo: no te olvides nunca que una función siempre devuelve un valor
'y eso hará nuestra api. luego leeremos ese valor para decirle a nuestra macro que ajuste
'el zoom de acuerdo a las circunstancias:
Declare Function GetDesktopWindow Lib "User32" () As Long
Declare Function GetWindowRect Lib "User32" _
(ByVal hWnd As Long, rectangle As RECT) As Long
Function ObtenerResolucion() As String
'la función en sí. yo mismo creo una función que utilizará las dos apis y concatenaré
'los resultados para crear una salida del tipo "800x600", etc, etc
Dim R As RECT
Dim hWnd As Long
Dim RetVal As Long
hWnd = GetDesktopWindow()
RetVal = GetWindowRect(hWnd, R)
'aquí esta la concatenación
ObtenerResolucion = (R.x2 - R.x1) & "x" & (R.y2 - R.y1)
End Function
Sub Auto_Open()
'auto_open es un sub que excel lo ejecuta al inicio del libro.
'aqui pondremos nuestro código:
Dim Resultado As String
'averiguo la resolución:
Resultado = Trim(ObtenerResolucion)
'y en base al resultado obtenido, utilizo un simple select case, en el cual
'tomo las distintas pautas a seguir:
Select Case Resultado
Case "800x600"
ActiveWindow.Zoom = 90
Case "1024x768"
ActiveWindow.Zoom = 110
Case Else
MsgBox "La resolución actual de la pantalla es: " & Resultado & vbCrLf _
& "Contacte a su programador para que ajuste los parámetros, debido a que " _
& "posiblemente la visualización de la plantilla no sea la correcta", vbInformation, "Atención"
End Select
End Sub
Y no te olvides de finalizar y evaluar la respuesta.
De nuevo mil gracias, lo de la "portada" me fue muy útil.
En cuanto al otro código sinceramente las API me sacan canas
De nuevo 5 estrellas
Jorge

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas