Newsgroup: it.comp.lang.visual-basic
Titolo: fogli e Form di Excel : adeguarli a diverse risoluzioni schermo

Problemino (o problemone??):
ho creato una serie di stampati su un unico foglio di Excel, e ho formattato
l'altezza dellle righe in modo da visualizzare ad ogni scatto di pagina
della barra di scorrimento, un intero stampato.
Ovviamente questo funziona finche non cambia la risoluzione dello schermo
(io questo lavoro l'ho fatto con un PC settato a 800x600), ma se sposto lo
stesso foglio su un notebook con risoluzione video 1024x768 vengono
visualizzate piu righe per schermata e quindi salta tutto il discorso.
Insomma esistono istruzioni da inserire nel foglio per adeguare
automaticamente l'altezza delle righe a seconda della risoluzione?
Stesso problema lo vorrei gestire con un Form VBA che vorrei si aprisse
sempre a tutto shermo qualunque sia la risoluzione dello schermo.
Grazie a chi puo essermi d'aiuto
Ciao

> "Capez" news:amvnc1$rtq$1...@lacerta.tiscalinet.it...:

    Forse questo potrebbe esserti utile per la seconda parte del tuo
quesito:
 
http://makeashorterlink.com/?E2A231CE1
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

Ho scaricato il tuo esempio, ma mi sa che siamo un po oltre le mie modeste
capacità di programmazione, se riuscissi a far funzionare il tuo esempio
potrei provare a ragionarci sopra, ma non ci riesco.
Io ho creato un Form di prova e ho inserito (tale e quale) il tuo listato.
La prima parte in un modulo, e la seconda (da "Private Sub
UserForm_Initialize()") nella cartella del form.
Che sono in alto mare l'ho capito da solo, se ritieni sia un compito troppo
arduo grazie cmq, se vuoi provare ad instradarmi io ci mettero il mio
impegno (se puo bastare!).
Per comodita tua (o per avere aiuto anche da qualcun'altro) ti rimetto di
seguito il tuo listato
Ciao
Option Explicit
' HWND GetActiveWindow(VOID)
  Private Declare Function GetActiveWindow _
    Lib "user32" () As Long
' HWND GetDesktopWindow(VOID)
  Private Declare Function GetDesktopWindow _
    Lib "user32" ( _
    ) As Long
' typedef struct _RECT {
'   LONG left;
'   LONG top;
'   LONG right;
'   LONG bottom;
' } RECT;
  Private Type RECT
    Left    As Long
    Top     As Long
    Right   As Long
    Bottom  As Long
  End Type
' BOOL GetWindowRect(
'   HWND    hWnd,   //  handle to window
'   LPRECT  lpRect  //  address of structure for window
'                   //    coordinates
' );
  Private Declare Function GetWindowRect _
    Lib "user32" ( _
      ByVal hwnd As Long _
    , lpRect As RECT _
    ) As Long
Private Sub UserForm_Initialize()
  Dim uRect                 As RECT
  Dim fPixelsToPointsRatio  As Single
  Dim bDisplayFullScreen    As Boolean
  Dim fDesktopWidth         As Single
  Dim fUserFormCurWidth     As Single
  Dim fUserFormCurHeight    As Single
  Dim fUserFormNewWidth     As Single
  Dim fUserFormNewHeight    As Single
  Dim iUserFormZoom         As Integer
  Call GetWindowRect(GetActiveWindow, uRect)
  With uRect
    fPixelsToPointsRatio _
      = Application.Width / (.Right - .Left)
  End With
  Call GetWindowRect(GetDesktopWindow, uRect)
  With uRect
    fDesktopWidth = (.Right - .Left) * fPixelsToPointsRatio
  End With
  With Application.ActiveWorkbook.Names
    fUserFormNewWidth _
      = fDesktopWidth _
      * (.Item("UserForm").RefersToRange.Value _
        / .Item("Desktop").RefersToRange.Value)
  End With
  With Me
    fUserFormCurWidth = .Width
    fUserFormCurHeight = .Height
  End With
  iUserFormZoom = fUserFormNewWidth / fUserFormCurWidth * 100
  Select Case True
  Case iUserFormZoom < 10
    iUserFormZoom = 10
  Case iUserFormZoom > 400
    iUserFormZoom = 400
  Case Else
  End Select
  fUserFormNewWidth = iUserFormZoom * fUserFormCurWidth / 100
  fUserFormNewHeight _
    = fUserFormNewWidth * fUserFormCurHeight _
    / (fUserFormCurWidth)
  With Me
    .Zoom = iUserFormZoom
    .Width = fUserFormNewWidth
    .Height = fUserFormNewHeight
  End With

Tutto a posto, mi era sfuggito di dover creare 2 celle desktop e userform
dove inserire i numeri di proporzione.
Vediamo se ci cavo qualcosa ora.....
Grazie

Tutto a posto, mi era sfuggito di dover creare 2 celle desktop e userform
dove inserire i numeri di proporzione. (ah il modulo non va creato :-))
