|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2003
Messaggi: 657
|
[VBA] Userform in primo piano
voglio che un all'apertura di un file word, tale file non venga visualizzato, ma che venga invece visualizzata una userform che ci ho creato, per cui ho scritto
Private Sub Document_Open() Application.WindowState = wdWindowStateMinimize 'minimizzo il word UserForm1.Show 'carico la user End Sub quindi quando apro il file, vedo che velocemente viene caricato il foglio doc, poi viene minimizzato ed è visualizzata la userform. a questo punto però la userform non è + l'oggetto attivo, me ne accorgo dalla barra del titolo, e perchè capita che altre finestre di programmi le si sovrappongano, ci devo far click perchè diventi attiva e venga in primo piano. allora ho provato ad aggiungere a quel codice questa riga userform1.setfocus o windows("file in questione").activate ipotizzando che fosse equivalente ad un mio click fisico sulla userform, ma non funziona, la user resta oggetto inattivo Avete idee? Grazie |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Credo proprio che non si possa fare. La tua UserForm non è un'applicazione distinta, ma una form-figlia dell'Applicazione Office in esecuzione... Sarà molto dura, come invece sarebbe possibile in VB6 ( e quindi niente Office ), passare l'Handle di quella finestra ad una routine che la mantenga sempre "on top"... L'unica cosa che puoi fare è dare una gerarchia ( ZOrder ecc... ) alle UserForm di una stessa istanza Office, ma pretendere di abbassare Word, e lasciare una UserForm on top rispetto a programmi esterni lanciati in seguito mi pare un'impresa disperata... Ovviamente sono molto curioso di conoscere l'improbabile soluzione, se qualcuno la posterà... Nulla è impossibile... ![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:18.