Newsgroup: it.comp.appl.access
Titolo: problema in chiusura automazione Word da Access

Salve a tutti,
sto lambiccandomi il cervello su come risolvere un problema
apparentemente banale.
Questa la situazione:
1. ho una maschera Access che, tramite un pulsante di comando, attiva
una procedura VBA
2. questa procedura apre un file di Word, legge da questo file alcune
informazioni (tramite i campi modulo) e, alla fine, chiude il file (il
meccanismo di automazione è quello standard, definito anche sul sito
comune). Le ultime operazione sono Doc.Close [senza modifiche] e Set
Doc = Nothing (Doc è di tipo Word.Document).
3. alla chiusura del file, io vorrei ripristinare il controllo sulla
maschera che lo ha attivato: nulla da fare!
La maschera resta in secondo piano (la vedo nella status bar). Se ci
clicco sopra, comunque non riesco a riaprirla.
Per riavere il controllo devo prima cliccare sulla finestra del db
access e successivamente posso rientrare nella maschera di partenza (e
a quel punto la vedo).
Ho cercato di capire come far tornare il controllo a questa maschera,
ma senza successo. Apparentemente, nessun metodo della Maschera ha
successo: la maschera resta come "frizzata" e sino a che non clicco
sul database (= ritorno a dare il controllo al programma access), non
riesco a riattivarla.
Ho cercato di ridare il controllo ad Access, ma... senza successo.
Anche l'istruzione AppActivate "Microsoft Access", posizionata subito
dopo la chiusura del file di word, non da risultati. Probabilmente sto
sbagliando strada...
Qual è la strada corretta per far tornare il controllo alla maschera
iniziale?

palex ha scritto:

Se non ti serve vedere word durante il recupero dati basta che non lo
attivi e non lo rendi visibile.
Altrimenti, se lo devi per forza mostrare, alla fine delle operazioni puoi
ridurlo a icona con un
    Wrd.WindowState = wdWindowStateMinimize
Oppure puoi cercare un altro sistema che ti consenta di riattivare la
finestra di access, magari tramite le API di windows.
Ciao.
-Marco-
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ho già provato a far partire Word in modalità nascosta. Tutto "pare"
funzionare sino alla chiusura di word: a quel punto la finestra di
partenza resta "frizzata" (nessun comando è accessibile, come se vi
fosse una finestra di pop-up nascosta che tiene il controllo). Ancora,
cliccando sulla finestra del database e poi nuovamente sulla finestra
di partenza tutto si sblocca.
Non cambia nemmeno riducendolo a icona. Non riesco a recuperare il
controllo sulla finestra di partenza (nè SetObject, nè GotFocus...
nulla).
La sensazione è che bisogna dire in qualche modo ad Access di
recuperare il controllo dopo la chiusura dell'automazione.
Purtroppo tutti gli esempi che ho trovato NON chiudono Word (nè
chiudono il documento). Forse c'è un motivo ...

palex ha scritto:

Se si chiude Word è per lasciare all'utente la possibilità di rivedere e/o
modificare il documento.
Per chiudere il documento basta usare il metodo .Close sull'oggetto
Word.Document
Per chiudere Word usi il metodo .Quit sull'oggetto Word.Aapplication
Vedi l'help per i parametri. Non dimenticarti di impostare a =Nothing le
due variabili prima di terminare la sub.
Comunque è strano che non funzioni con Word nascosto o minimizzandolo, ho
provato entrambi i sistemi e funziona, alla fine torna attivo Access,
forse nel tuo codice c'è qualche istruzione che lo blocca.
