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.
>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.
>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.