Articolo wiki
  • Questo articolo wiki è bloccato
Applicabile a 273 visualizzazioni

Word - Collegare il documento attivo ad un database di Access (2007/2010/2013) - VBA

Riepilogo

Livello tecnico: Conoscenza di base di Visual Basic for Applications Si applica a: Word (2003/2007/2010/2013)

Dettagli

NOTA. Gli esempi ed il codice sono forniti *così come sono* e l’autore declina ogni responsabilità per un loro uso scorretto. Utilizzate gli esempi forniti o file di prova per i vostri test. La correzione delle eccezioni (errori) e il controllo del tipo di dati inserito è solo parziale. I file vogliono essere un semplice esempio che illustra come sia possibile automatizzare Excel e Word e sono forniti solo a scopo dimostrativo.

 

Situazione.

Vogliamo collegare il documento di Word ad un database di Access (in questo esempio collocato nella stessa directory del file di Word) e tramite una UserForm gestire i dati. Vogliamo anche poter scegliere in quale verso (orizzontale o verticale) e quali voci inserire nel documento.

 

Questa la UserForm nell'editor del VB di Word in fase di realizzazione:

 

 

Figura 1: La UserForm nell'editor del vb di Word in fase di realizzazione

 

Ed ecco come si presenta lanciandola runtime tramite i tasti di scelta rapida CTRL+a:

 

 

Figura 2: La UserForm runtime

 

Selezionando un valore nella Listbox o scorrendo la Listbox tramite i quattro pulsanti sotto la stessa, si portano i vari valori della riga selezionata nelle TextBox (textBox disabilitate per impedire modifiche):

 

 

Figura 3: La UserForm runtime con un record selezionato nella Listbox

 

Selezionando uno dei due pulsanti a destra si inserirà il codice il orizzontale o verticale:

 

 

Figura 4: Esempio di testo inserito in orizzontale e in verticale

 

Deselezionando le CheckBox a dx delle TextBox è possibile escluderne i valori:

 

 

Figura 5: Deselezionando le ChekBox è possibile escludere i valori delle relative TextBox da quanto verrà inserito nel documento

 

 Il codice presente nel file è ampiamente commentato. La UserForm è visualizzata in modalità VBModeLess, consentendo di lavorare sul documento senza doverla per forza chiudere. L'esempio scaricabile dal sito maurogsc.eu contiene il file di Word e il database di Access :

NOTA. Word non dispone nativamente di procedure assolutamente sicure per impedire la visualizzazione e la modifica del codice vb e/o per la protezione dei documenti. E’ una cosa da tenere sempre presente quando si distribuiscono file con contenuti ritenuti delicati. Ricordate anche che è possibile lanciare il file di Word senza che vengano eseguite le macro.


Risorse.

 


 Avvio Pulito di Windows
(courtesy of Microsoft MVP Franco Leuzzi)


Computer infettato da malware (courtesy of Microsoft MVP Vincenzo Di Russo)





Commenti (0)

avanzamento