Discussione:
Rendere le userform dimensionabili con lo schermo
(troppo vecchio per rispondere)
by sal
2009-08-07 08:55:23 UTC
Permalink
Ciao a tutti, vorrei chiedere una cosa per risolvere un problema forse
annoso.
Non tutti hanno la stessa risoluzione dello schermo per cui, un file
Excel che abbia diverse userform si scombinano con l'allineamento che
uno ha dato se visualizzato si diversi PC con risoluzioni diverse.
Forse sarà OT con questa sezione, ma ci provo.
Per cambiare risoluzione uso questa macro, in un Modulo

Sub schermo()
x = Application.UsableWidth
h = Application.UsableHeight
If x > 597 Then
xa = x / 597
ha = h / 309
With UserForm1
.Top = 1
.Left = 1
.Height = Application.UsableHeight + 130
.Width = Application.UsableWidth
End With
For Each ctr In UserForm1.Controls
ctr.Width = ctr.Width * xa
ctr.Height = ctr.Height * ha
ctr.Font.Size = ctr.Font.Size * xa
ctr.Top = ctr.Top * ha
ctr.Left = ctr.Left * xa
Next
End If
End Sub

Funziona ed ha sempre funzionato bene.
Ora io vorrei un poco cambiare il modo di affrontare il problema,
sempre con il VBA, invece di adattare le userform alla risoluzione
dello schermo, perche non adattare lo schermo alla risoluzione con cui
è stato creato il file Excel.
Io uso la risoluzione 1024x768 pixel, e creo i file con questa
risoluzione, alcuni usano la risoluzione 1280x1024 pixel, avranno
occhi da orologiai o gioiellieri, capirete che un file creato con la
mia risoluzione, le usarform sovrapposte se ne vanno per conto loro.
Si può fare con il VBA una macro che cambi la risoluzione dello
schermo nel pannello controllo e poi alla chiusura rimette a posto la
risoluzione?.

Un Saluto By Sal,
Mauro Gamberini
2009-08-07 09:22:29 UTC
Permalink
Ciao a tutti, vorrei chiedere una cosa per risolvere un problema forse
annoso.
Non tutti hanno la stessa risoluzione dello schermo per cui, un file
Excel che abbia diverse userform si scombinano con l'allineamento che
uno ha dato se visualizzato si diversi PC con risoluzioni diverse.
Forse sarà OT con questa sezione, ma ci provo.
Per cambiare risoluzione uso questa macro, in un Modulo

Sub schermo()
x = Application.UsableWidth
h = Application.UsableHeight

<cut>

Funziona ed ha sempre funzionato bene.
*************************************************

Qui proprio non va.... ;-)


Ora io vorrei un poco cambiare il modo di affrontare il problema,
sempre con il VBA, invece di adattare le userform alla risoluzione
dello schermo, perche non adattare lo schermo alla risoluzione con cui
è stato creato il file Excel.
Io uso la risoluzione 1024x768 pixel, e creo i file con questa
risoluzione, alcuni usano la risoluzione 1280x1024 pixel, avranno
occhi da orologiai o gioiellieri, capirete che un file creato con la
mia risoluzione, le usarform sovrapposte se ne vanno per conto loro.
Si può fare con il VBA una macro che cambi la risoluzione dello
schermo nel pannello controllo e poi alla chiusura rimette a posto la
risoluzione?.
**************************************************

Ho alcune domande e una considerazione.

Se si interrompe per qualche motivo
Excel *prima* che tu mi rimetta a posto la
risoluzione e io sono un povero utente medio,
che faccio?
Perchè vuoi modificarmi le impostazioni,
con quale diritto?

Dico questo *anche* perchè, vedendo la tua macro
che sul mio pc non gira sicuramente(annosa e
stucchevole questione di una cosa chiamata:
DICHIARAZIONE DELLE VARIABILI), non mi fiderei
molto a farti modificare i settaggi del mio Windows...

Mi sembra più corretto che tu adatti le tue UserForm
alla mia risoluzione.

Comunque:

http://www.google.it/search?hl=it&q=modificare+risoluzione+schermo+vb&meta=&aq=f&oq=

Rileggi bene quanto sopra, prima di lanciarti
a scrivere codice.
Modificare le impostazioni di Windows *può portare
a spiacevoli conseguenze* e non va fatto a cuor leggero,
nemmeno da chi sa dove e come intervenire.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
by sal
2009-08-07 14:07:42 UTC
Permalink
Ciao Mauro, e grazie per la risposta

Sub schermo()
x = Application.UsableWidth
h = Application.UsableHeight
***********************************

Lo so che mi bacchetti sempre per la dichiarazione delle variabili

Funziona ed ha sempre funzionato bene.

Qui proprio non va.... ;-)
*****************************
l'ho presa da un mio vecchio file funzionante

Ho alcune domande e una considerazione.

Se si interrompe per qualche motivo
Excel *prima* che tu mi rimetta a posto la
*************************************************

Mi basta questa risposta per lasciar perdere il concetto, non sono un
sabotatore di PC altrui.
Però vorrei cercare di ovviare a questo problema, solo questo

[url=http://www.postimage.org/][img]http://img197.imageshack.us/
img197/2305/69467007.gif[/img][/url]
[url=http://www.postimage.org/][img]http://img22.imageshack.us/
img22/450/56064179.gif[/img][/url]

se riesci a vedere le due immagini, la prima e con 1024 px e la
seconda con 1280, vorrei evitare lo spostamento delle userform.

Ciao By Sal
Mauro Gamberini
2009-08-07 15:53:30 UTC
Permalink
[url=http://www.postimage.org/][img]http://img197.imageshack.us/
img197/2305/69467007.gif[/img][/url]
[url=http://www.postimage.org/][img]http://img22.imageshack.us/
img22/450/56064179.gif[/img][/url]
**************************************************

Puoi gentilmente postare gli indirizzi in forma
*umana*, grazie.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
by sal
2009-08-07 17:12:44 UTC
Permalink
Post by Mauro Gamberini
Puoi gentilmente postare gli indirizzi in forma
*umana*, grazie.
Ciao Mauro, non sapevo che dovevo usare imageshack, avevo usato un
altro sito hosting

Loading Image...
Loading Image...

Credo che queste siano umane (almeno spero)

Ciao By sal e perdonami
Mauro Gamberini
2009-08-08 08:24:39 UTC
Permalink
Post by by sal
Credo che queste siano umane (almeno spero)
Forse non ho capito, ma proviamo.
Vedo due UserForm.
Una al centro dell'altra, è così?
Immagino che premendo sui pulsanti a sx
compaiano via via delle UserForm.
Ho una domanda: usare un controllo
Schede o Pagine? Non sarebbe più
facile gestire il tutto?
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
by sal
2009-08-08 19:30:28 UTC
Permalink
Ciao Mauro
Post by Mauro Gamberini
Vedo due UserForm.
Una al centro dell'altra, è così?
Immagino che premendo sui pulsanti a sx
compaiano via via delle UserForm.
Si infatti e cosi, in riferimento ai pulsanti si aprono maschere
diverse.
Per la verità usare Schede o Pagine, non l'avevo preso in
considerazione, ho sempre usato questo metodo.

Poi i vari, comandi o controlli, come vanno gestiti per Schede o
Pagine, cioè ogni scheda avrà il suo Textbox1, oppure sarà il Textboxx
successivo alla Scheda o Pagina Precedente?.

Cambiare mi costringe a riscrivere il tutto, e non so cosa mi
converrebbe fare, certo che come dici tu, non si avrà il problema
della foto 1280, con la maschera spostata rispetto alla prima.

Adesso vedo un poco se mi conviene più a Schede o Pagine, tu cosa mi
consigli, in modo che possa prendere una decisione almeno finale.

Un Saluto Ciao By Sal....
Mauro Gamberini
2009-08-09 08:07:51 UTC
Permalink
Adesso vedo un poco se mi conviene più a Schede o Pagine, tu cosa mi
consigli, in modo che possa prendere una decisione almeno finale.
***************************************************

Prova con Pagine.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
Loading...