› Excel e gli applicativi Microsoft Office › Allineamento titolo user form
-
AutoreArticoli
-
una curiosità..
alla creazione di un user form, il titolo - quello definito nella proprietà Caption del user form stesso - viene visualizzato al centro..
c'è modo di scegliere un altro tipo di allineamento - per esempio a sinistra ?
ho googlato un po' sul web ma non ho trovato una proprietà apposita, però ho notato che parecchie immagini di user form propongono appunto il titolo a sinistra, ergo suppongo esista la possibilità
grazie mille
Con Excel 2010 il titolo è allineato a sinistra e non trovo il modo di cambiare a meno di inserire degli spazi
ah.. io ho ancora il 2007
direi che l'allineamento a sinistra di default è più gestibile - come dici tu: per centrare basta aggiungere spazi a sinistra
Un'altra ipotesi di soluzione è quella di visualizzare la userform senza barra del titolo (lo si può fare con le API di Windows) e simulare questa con una label dove è possibile centrare la caption.
Alfredo
direi che l'allineamento a sinistra di default è più gestibile - come dici tu: per centrare basta aggiungere spazi a sinistra
e tu li puoi aggiungere a destra
e tu li puoi aggiungere a destra
ah beh.. certamente
per risolvere - quando necessario - avevo adottato questo modo
Me.Caption = pbWorkbook + " - " + Me.Caption + Space(999)
dove pbWorkbook è una variabile contenente il nome dell'excel - mi capita spesso di avere diverse versioni dello stesso, quindi preferisco evidenziare di quale si tratti..
così facendo compaiono dei puntini sulla destra - a significare che in realtà il titolo sarebbe più lungo di qullo mostrato (già.. con 999 spazi.. ) - cui si potrebbe ovviare conteggiando precisamente gli spazi da aggiungere in base alla lunghezza del resto, ma ho notato che quel precisamente è tutt'altro che banale
la curiosità era sul fatto che esistesse o meno la possibilità di definire l'allineamento del titolo - come esiste per qualsiasi altro oggetto
vabbè.. meno peggio questo rispetto ai listbox non rinfrescati
Salve a tutti
Ho ripreso un vecchio lavoro di un amico di altro Forum che riporta una mia aggiunta che, forse, è quello che si cerca.
Ho fatto questo ragionamento: la larghezza della UserForm è in punti così come il valore di .Font.Size per i caratteri. Da una semplice divisione ricavo il centro ed il gioco è fatto.
Ma non è così semplice. Non mi spiegavo (e non mi spiego ancora) perchè, dai tentativi effettuati, occorre moltiplicare per 1,7 il risultato della divisione.
Questa la macro (la larghezza della UserForm è pari alla metà dello schermo)
Private Sub UserForm_Initialize()
'imposta la grandezza della UserForm
Me.Width = Application.Width / 2
'assume grandezza Font della UserForm
prec = Me.Font.Size
'imposta grandezza .Font.Size pari a 8
Me.Font.Size = 8
'calcola gli spazi necessari
spazi = Me.Width / Me.Font.Size * 1.7
'riporta grandezza Font al precedente
Me.Font.Size = prec
'crea stringa vuota
For i = 1 To spazi - Len(Me.Caption) / 2
vuota = vuota & " "
Next i
'imposta Caption al centro
newCap = vuota & Me.Caption
Me.Caption = newCap
End SubCiao,
Mario
PS per Admin
Non capisco perchè la finestra per il VBA mi copre tutto lo schermo e non mi consente di tornare alla discussione.
Allegati:
You must be logged in to view attached files.Non capisco perchè la finestra per il VBA mi copre tutto lo schermo e non mi consente di tornare alla discussione.
succede anche a me, devo usare F11 per il fullscreen
Non mi spiegavo (e non mi spiego ancora) perchè, dai tentativi effettuati, occorre moltiplicare per 1,7 il risultato della divisione
Non ho letto tutto il thread né aperto il file, ma butto un'ipotesi: la risoluzione del tuo schermo? ed il rapporto tra width e height?
Ciao a tutti
Ciao Marco. Avevo pensato anch'io al rapporto height/width del carattere ma non sono riuscito a trovare nulla che indichi questa proporzione.
Sai darmi qualche indirizzo? Io ho trovato spiegazioni in questo sito: https://www.onlineprinters.it/blog/dimensione-carattere/
ma nulla a che vedere con la programmazione.
Si, anche la risoluzione incide ma quello è tutto un altro discorso.
Ciao,
Mario
Ciao Mario,
Sai darmi qualche indirizzo? Io ho trovato spiegazioni in questo sito: https://www.onlineprinters.it/blog/dimensione-carattere/
No, è solo una deduzione "istintiva" avendo presente che la risoluzione del mio pc è 1920 x 1080 con un rapporto di 1,777.
Bisognerebbe provare con un monitor impostato ad esempio su 800 x 600 se si debba mltiplicare 1,333
-
AutoreArticoli