Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

macro e campi modulo di word

299 views
Skip to first unread message

Pino

unread,
Oct 31, 2010, 4:43:59 AM10/31/10
to
Ho creato alcuni documenti con dei campi modulo di testo.
Con alcuni campi usa delle macro in uscita per compilare automaticamente
altri campi ed evitare di riscrivere alcuni dati.
Tutto funziona bene ma quando per qualche documento deve modificare in parte
la macro, anche tutti gli altri documenti si ritrovano con la macro
modificata.
Come fare per far si che ogni macro sia legata unicamente al singolo
documento e non influenzi anche gli altri.
Grazie.


Giovanni Zezza

unread,
Oct 31, 2010, 11:23:14 AM10/31/10
to
Pino, nel messaggio <j%9zo.111470$Ua.2...@twister2.libero.it>,
scriveva:

Se non riesci a generalizzare e parametrizzare le macro, in modo che
una defizione possa andar bene per tutti i documenti (modificando
appunto solo alcuni parametri nei diversi casi), puoi definire le
macro nel documento ("ThisDocument" di "Nome Documento"), invece che
nel modulo, o associare moduli diversi ad ogni diversa tipologia di
documento.

Ciao.

Pino

unread,
Nov 1, 2010, 4:21:39 AM11/1/10
to
> Se non riesci a generalizzare e parametrizzare le macro, in modo che
> una defizione possa andar bene per tutti i documenti (modificando
> appunto solo alcuni parametri nei diversi casi), puoi definire le
> macro nel documento ("ThisDocument" di "Nome Documento"), invece che
> nel modulo, o associare moduli diversi ad ogni diversa tipologia di
> documento.
Le macro sono in ThisDocument.
Nei vari documenti le macro sono sostanzialmente simili ma, in alcuni casi,
devo apportare delle piccole modifiche che, però, come ho detto, vengono
riportate anche negli altri documenti vanificando il mio lavoro.
Altri consigli?
Grazie


Giovanni Zezza

unread,
Nov 1, 2010, 5:14:26 AM11/1/10
to
Pino, nel messaggio <nMuzo.222798$9f6.4...@twister1.libero.it>,
scriveva:

>Le macro sono in ThisDocument.

Sì, ma evidentemente, da quello che dici dopo, non in ThisDocument del
documento, ma in ThisDocument del modello associato.

>Nei vari documenti le macro sono sostanzialmente simili ma, in alcuni casi,
>devo apportare delle piccole modifiche che, però, come ho detto, vengono
>riportate anche negli altri documenti vanificando il mio lavoro.

Se le macro sono definite nel documento, la modifica ha effetto solo
su quel documento; quindi non sono definite nel documento.

Se vuoi un comportamento diverso per ogni documento, definisci le
macro nel documento.

Ciao.

Pino

unread,
Nov 1, 2010, 7:47:29 AM11/1/10
to
> Se vuoi un comportamento diverso per ogni documento, definisci le
> macro nel documento.
Non sono molto esperto e non capisco bene cosa intendi.
Se visualizzo le macro nella finestra "Progetto -Projet" trovo:
- Normal
- Microsoft Word Oggetti
- ThisDocument
- Projet (Nome del mio documento)
- Microsoft Word Oggetti
- ThisDocument
- Moduli
- NewMacros
- Riferimenti
- Riferimento a Normal.
Dove devo inserire le mie macro perché siano indipendenti dai vari
documenti?

Giovanni Zezza

unread,
Nov 1, 2010, 10:59:52 AM11/1/10
to
Pino, nel messaggio <lNxzo.111795$Ua.2...@twister2.libero.it>,
scriveva:

>Non sono molto esperto e non capisco bene cosa intendi.
>Se visualizzo le macro nella finestra "Progetto -Projet" trovo:
- Normal
- Microsoft Word Oggetti

>(1) - ThisDocument


- Projet (Nome del mio documento)
- Microsoft Word Oggetti

>(2) - ThisDocument
- Moduli
>(3) - NewMacros
- Riferimenti
>(4) - Riferimento a Normal


>Dove devo inserire le mie macro perché siano indipendenti dai vari
>documenti?

Quello che inserisci in (2) o anche in (3)(cioè, all'interno
dell'albero che dipende direttamente dal documento) è accessibile solo
in quel documento.

Quello che inserisci in (1) o in (4)(cioè, nell'albero del modello) è
accessibile a tutti i documenti basati sul modello Normal, o comunque
sul modello associato.

Memorizzare macro diverse in ogni documento può portare rapidamente ad
un incubo gestionale, in cui non sai più dove sia che cosa, che cosa
faccia cosa e come si chiami chi.

Puoi però cercare di individuare alcune classi di documento, che
richiedono comportamenti simili, e creare un modello diverso per ogni
classe, raccogliendo le macro relative nei modelli di pertinenza, e
riducendo quindi il numero di definizioni diverse.

O puoi essere talmente ordinato e logico nella definizione delle macro
da riuscire ad evitare l'incubo potenziale. VBA non è particolarmente
di aiuto in questo, non provvedendo i meccanismi di eriditarietà
disponibili in altri linguaggi, ma non è impossibile.

Ciao.

0 new messages