Google Gruppi non supporta più i nuovi post o le nuove iscrizioni Usenet. I contenuti storici continuano a essere visibili.

Numero progressivo in word

4.920 visualizzazioni
Passa al primo messaggio da leggere

Emiliano

da leggere,
16 nov 2007, 12:00:0016/11/07
a
Ciao...

vorrei sapere se esiste la possibilità di creare un foglio word con un
numero progressivo che aumenta ogni volta che apro il file.

In sostanza dovrei creare un foglio per preventivi che abbia un numero di
protocollo progessivo automatico.

Pippo

da leggere,
16 nov 2007, 19:11:0816/11/07
a

"Emiliano" <Emil...@discussions.microsoft.com> ha scritto nel messaggio
news:2E1D2249-C0BE-4C32...@microsoft.com...

Dai uno sguardo al link
http://www.itportal.it/office/word/numerazione_word/Default.asp

NB: ti devi registrare (e' gratis) al sito.

Ciao
Pippo

Pippo

da leggere,
16 nov 2007, 20:15:0716/11/07
a

"Pippo" <nos...@nospam.it> ha scritto nel messaggio
news:5082A203-301B-4225...@microsoft.com...

>
> "Emiliano" <Emil...@discussions.microsoft.com> ha scritto nel messaggio
> news:2E1D2249-C0BE-4C32...@microsoft.com...
>
>> vorrei sapere se esiste la possibilità di creare un foglio word con un
>> numero progressivo che aumenta ogni volta che apro il file.
>>
>> In sostanza dovrei creare un foglio per preventivi che abbia un numero di
>> protocollo progessivo automatico.
>
> Dai uno sguardo al link
> http://www.itportal.it/office/word/numerazione_word/Default.asp

Uhm.... :-((... leggendo meglio l'articolo al suddetto link, non credo che
faccia al tuo caso..

Ciao
Pippo

Pippo

da leggere,
16 nov 2007, 21:30:4816/11/07
a

"Pippo" <nos...@nospam.it> ha scritto nel messaggio
news:40862C5C-ADD0-4F9F...@microsoft.com...

> Uhm.... :-((... leggendo meglio l'articolo al suddetto link, non credo che
> faccia al tuo caso..

Il seguente link http://tinyurl.com/2r4flk credo sia quello giusto!!

Speriamo che l'autore (il mitico *Maurizio Borrelli*) o qualche esperto di
vba, possa intervenire per adattarlo alle tue esigenze!

Maurizio, ci sei? ;-))

Ciao
Pippo

Emiliano

da leggere,
17 nov 2007, 16:31:0117/11/07
a
Grazie Pippo,
ma non riesco a fare sta cosa in un foglio word.

vorrei che il numero che inserisco cambia ogni volta che apro il file in
modo crescente (da 1 a......)

"Pippo" ha scritto:

Pippo

da leggere,
17 nov 2007, 17:28:3617/11/07
a

"Emiliano" <Emil...@discussions.microsoft.com> ha scritto nel messaggio
news:23D6A35D-9A64-4BD6...@microsoft.com...

>> Il seguente link http://tinyurl.com/2r4flk credo sia quello giusto!!
>> Speriamo che l'autore (il mitico *Maurizio Borrelli*) o qualche esperto
>> di
>> vba, possa intervenire per adattarlo alle tue esigenze!

> ma non riesco a fare sta cosa in un foglio word.
> vorrei che il numero che inserisco cambia ogni volta che apro il file in
> modo crescente (da 1 a......)

NB: Nel tuo modello, nel punto dove vuoi compaia il numero progressivo,
scrivi XXX (tre ics consecutive, che devono essere le *uniche* presenti nel
tuo modello), poi salvalo nel formato modello "tuomodello.dot" (NB: NON
*.doc).
Prova poi, il codice seguente (ho provato a fare delle modifiche al codice
dell'autore per adattarlo al tuo caso), che va incollato nel modulo:

" THISDOCUMENT "

del progetto Visual Basic del tuo *modello*.

'=======================================

Option Explicit


Private Sub Document_New()
Dim strAppName As String
Dim strSection As String
Dim strKey As String
Dim strDefault As String


strAppName = "Luigi L"
strSection = "Test"
strKey = "Progressivo"
strDefault = "0"
SaveSetting strAppName _
, strSection _
, strKey _
, CLng(GetSetting(strAppName, strSection, strKey, strDefault)) _
+ 1

With Selection.Find

.ClearFormatting
.Replacement.ClearFormatting

.Text = "XXX"

.Replacement.Text = GetSetting(strAppName, strSection, strKey,
strDefault)

.Forward = True
.Wrap = wdFindContinue
.Format = True
.Execute Replace:=wdReplaceAll

End With

End Sub

'========================================

SALVA il tuo modello.

Apri un nuovo (menu File =>Nuovo..) documento sulla base del tuo modello e,
noterari che, al posto delle tre XXX compare il numero progressivo.

Ho notato che, per azzerare il contatore e farlo ripartire da 1, basta
cambiare nome alla seguente stringa : es. da strAppName = "Luigi L" a
strAppName = "Pippo".

Ho fatto delle prove e sembra FUNZIONARE, pero', spero nell'intervento
dell'autore "Maurizio Borrelli" per eventuali modifiche e/o miglioramenti:
io sono ad un livello mooolto basso con il vba!

Inoltre, come suggerito dall'autore stesso, in quel thread , bisogna leggere
nella guida vba :

*GetSetting*

*SaveSetting*

... ma non ho avuto il tempo di farlo..

PS: fammi sapere !!! ;-)))

Ciao

Pippo


Emiliano

da leggere,
18 nov 2007, 04:22:0018/11/07
a
Ciao Pippo....ancora tante grazie....

forse ho dimenticato di dirti che sono "un pollo" di Office....

Mi dovresti guidare passo-passo e vediamo se ci riusciamo....

attendo tua...

grazie mille!!!!

emiliano

"Pippo" ha scritto:

Pippo

da leggere,
18 nov 2007, 10:19:2718/11/07
a

"Emiliano" <Emil...@discussions.microsoft.com> ha scritto nel messaggio
news:1E698A95-01A5-4B7F...@microsoft.com...

> forse ho dimenticato di dirti che sono "un pollo" di Office....

> Mi dovresti guidare passo-passo e vediamo se ci riusciamo....
> attendo tua...


Se mi puoi spiegare i punti in cui hai difficolta' a seguire le mie
istruzione......;-)

Per fare quello che vuoi, occorre utilizzare una MACRO scritta (o copiata
:-)) ) nel linguaggio di programmazione Visual Basic.

Quale VERSIONE (io ho Word 2003) di Word utilizzi?

Hai provato a fare ricerche utilizzando la GUIDA (premi tasto F1) di Word ?
;-))

Se i problemi sono *SOLO* relativi a come accedere all'editor VBA, premi
contemporaneamente i tasti di scelta rapida "ALT+F11", dovresti ora
individuare (sulla sinistra) la cartella (se non la vedi, premi i tasti CTRL
+ R) "ThisDocument", fai doppio clic su quest'ultima e, sulla destra,
vedrai una schermata bianca, in cui devi "copiare" ed "incollare" il codice
(quello delimitato con '======= ...) che ti ho scritto.

Premi poi premi contemporaneamente i tasti di scelta rapida "ALT + Q" per
ritornare al foglio Word del tuo modello.

SALVA il documento come modello, dopo aver seguito le indicazioni che ti ho
gia' dato delle tre XXX....

Poi...... riesci a procedere da solo??? ;-)

PS: Quota correttamente : "La risposta va sempre dopo la parte quotata
(http://www.noidelweb.it/ipod/migliori/quotare.htm) o, se si deve rispondere
a più punti, inframezzata ad essa".

Ciao
Pippo


Emiliano

da leggere,
18 nov 2007, 11:09:0118/11/07
a
niente!!! non va!!!!

"Pippo" ha scritto:

Pippo

da leggere,
18 nov 2007, 11:38:3218/11/07
a

"Emiliano" <Emil...@discussions.microsoft.com> ha scritto nel messaggio
news:54B6AAE0-539C-49BF...@microsoft.com...


>> Hai provato a fare ricerche utilizzando la GUIDA (premi tasto F1) di Word
>> ?
>> ;-))
>>
>> Se i problemi sono *SOLO* relativi a come accedere all'editor VBA, premi
>> contemporaneamente i tasti di scelta rapida "ALT+F11", dovresti ora
>> individuare (sulla sinistra) la cartella (se non la vedi, premi i tasti
>> CTRL
>> + R) "ThisDocument", fai doppio clic su quest'ultima e, sulla destra,
>> vedrai una schermata bianca, in cui devi "copiare" ed "incollare" il
>> codice
>> (quello delimitato con '======= ...) che ti ho scritto.
>>
>> Premi poi premi contemporaneamente i tasti di scelta rapida "ALT + Q"
>> per
>> ritornare al foglio Word del tuo modello.
>>
>> SALVA il documento come modello, dopo aver seguito le indicazioni che ti
>> ho
>> gia' dato delle tre XXX....
>>
>> Poi...... riesci a procedere da solo??? ;-)


> niente!!! non va!!!!

Cosa non va? ;-)

Quale VERSIONE (io ho Word 2003) di WORD utilizzi?

Hai salvato il documento come modello (*.DOT e non *DOC)?

Hai poi aperto un nuovo documento (con File =>Nuovo...) e selezionato il
modello che hai precedentemente generato ed in cui hai copiato il codice VBA
ed inserito le tre XXX...?

PS: QUOTA correttamente : "La risposta va sempre dopo la parte quotata

Emiliano

da leggere,
18 nov 2007, 12:02:0118/11/07
a
LIFES...@HOTMAIL.IT

questo è il mio contatto msn...ti faccio vedere il .dot che ho generato.....

"Pippo" ha scritto:

Pippo

da leggere,
18 nov 2007, 12:32:0518/11/07
a

"Emiliano" <Emil...@discussions.microsoft.com> ha scritto nel messaggio
news:86C6FFAF-51CF-41A1...@microsoft.com...

> questo è il mio contatto msn...ti faccio vedere il .dot che ho
> generato.....

Non ho messenger, pero' inviami il tuo modello al mio indirizzo mail :
"ghost . ghost chiocciola tin . it" (NB: due volte "ghost" col punto di
separazione).

Non hai ancora RISPOSTO pero', alle seguenti DOMANDE ;-) :

Quale VERSIONE (io ho Word 2003) di WORD utilizzi?

Hai salvato il documento come modello (*.DOT e non *DOC)?

Hai poi aperto un nuovo documento (con File =>Nuovo...) e selezionato il
modello che hai precedentemente generato ed in cui hai copiato il codice VBA
ed inserito le tre XXX...?

Inoltre, quando apri il nuovo documento (con File =>Nuovo...), nella scheda
"Modelli" =>"Generale" trovi il MODELLO che hai precedentemente generato
come ti ho spiegato?

Continui a non quotare correttamente... ;-))

Maurizio Borrelli

da leggere,
28 nov 2007, 07:13:4828/11/07
a
"Pippo" wrote in message
news:F51AA35E-ABEA-42AA...@microsoft.com:

> "Emiliano" ha scritto nel messaggio
> news:86C6FFAF-51CF-41A1...@microsoft.com...

> > questo è il mio contatto msn...ti faccio vedere il .dot che ho
> > generato.....
> Non ho messenger, pero' inviami il tuo modello al mio indirizzo mail :
> "ghost . ghost chiocciola tin . it" (NB: due volte "ghost" col punto di
> separazione).
> Non hai ancora RISPOSTO pero', alle seguenti DOMANDE ;-) :

[...]


> Continui a non quotare correttamente... ;-))

Ciao Pippo.

Mi hai evocato in mpioe ed eccomi qua. :)

Non so se Emiliano ancora ci legge, comunque la vedo dura dare una mano
a chi si limita a post del tipo "niente!!! non va!!!!". Vediamo un po'
che ci risponde adesso.

--
(Facci sapere se e eventualmente come hai risolto. Grazie.)

Ciao :o) Microsoft MVP (Excel)
Maurizio <http://mvp.support.microsoft.com/profile/Maurizio.Borrelli>
-------- Spazio personale di Maurizio Borrelli
?SPQR(C) <http://spdmb.spaces.live.com>
 X       RIO - Risorse in italiano per gli utenti di office
-------- <http://www.riolab.org>


Pippo

da leggere,
28 nov 2007, 13:04:1528/11/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:%23FGCigb...@TK2MSFTNGP04.phx.gbl...

[cut]

> [...]

> Mi hai evocato in mpioe ed eccomi qua. :)

Grazie Maurizio per la tua tempestiva disponibilita'! ;-)

> Non so se Emiliano ancora ci legge, comunque la vedo dura dare una mano a
> chi si limita a post del tipo "niente!!! non va!!!!". Vediamo un po' che
> ci risponde adesso.

Nell'attesa di Emiliano, vorrei sapere, se le modifiche apportate alla *tua*
macro sono corrette e se si puo' fare di
meglio... ;-))

Inoltre, qualora sia necessario lavorare in *locale*, con piu' pc, quale
potrebbe essere una soluzione, per continuare ad avere la numerazione
*univoca* e *progressiva* per i documenti generati da uno *stesso* modello?

Chiedo troppo? ;-)

Ciao e grazie milleeee
Pippo


Maurizio Borrelli

da leggere,
28 nov 2007, 15:12:1928/11/07
a
"Pippo" wrote in message
news:6B7DCB6F-8BD2-40FE...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:%23FGCigb...@TK2MSFTNGP04.phx.gbl...

[...]

(A)


> vorrei sapere, se le modifiche apportate alla
> *tua* macro sono corrette e se si puo' fare di
> meglio... ;-))

(B)


> Inoltre, qualora sia necessario lavorare in *locale*, con piu' pc, quale
> potrebbe essere una soluzione, per continuare ad avere la numerazione
> *univoca* e *progressiva* per i documenti generati da uno *stesso*
> modello?

[...]

Ciao Pippo.

Il codice che postai nel 3D da te citato si riferiva unicamente alla
possibilita' di memorizzare (leggere, scrivere, incrementare) un numero
progressivo in una chiave del registro di Windows. Solo il primo
"mattone" del discorso affrontato in questo 3D.

L'altra questione e' come usare questo numero: come parte del nome del
documento e/o come testo nel documento.

Vedo che tu hai escogitato una soluzione... pruriginosa... sostituendo
il testo "XXX" col numero. Ho capito bene?

Io preferisco invece una soluzione forse piu' laboriosa ma, credo, piu'
affidabile. Memorizzerei il numero in una proprieta' del documento,
quindi ovunque nel documento io voglia ottenere tale numero userei un
codice di campo:

1. Si crea il modello.

2. Si crea una proprieta' del documento (es: "NumProgr") destinata a
essere valorizzata col numero progressivo.

3. Dove necessario, si immettono nel testo del modello i codici di campo
che fanno riferimento alla proprieta' del documento "NumProgr":

{ DOCPROPERTY NumProgr }

4. Si salva il modello.

5. Alla creazione di un nuovo documento basato sul modello si legge
(GetSetting) il valore della chiave del registro di Windows e lo si
assegna a una variabile (es: strNumProgr).

6. Si assegna tale valore alla proprieta' "NumProgr":

ThisDocument.CustomDocumentProperties("NumProgr").Value = strNumProgr

7. Si aggiornano tutti i codici di campo.

Che ne dici?

Della questione (B) ne potremo riparlare in seguito, ok?

--

Pippo

da leggere,
28 nov 2007, 16:09:3428/11/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:%23f%23u8rfM...@TK2MSFTNGP06.phx.gbl...

> "Pippo" wrote in message
> news:6B7DCB6F-8BD2-40FE...@microsoft.com:
>
>> "Maurizio Borrelli" ha scritto nel messaggio
>> news:%23FGCigb...@TK2MSFTNGP04.phx.gbl...
>
> [...]
>
> (A)
>> vorrei sapere, se le modifiche apportate alla
>> *tua* macro sono corrette e se si puo' fare di
>> meglio... ;-))
>
> (B)
>> Inoltre, qualora sia necessario lavorare in *locale*, con piu' pc, quale
>> potrebbe essere una soluzione, per continuare ad avere la numerazione
>> *univoca* e *progressiva* per i documenti generati da uno *stesso*
>> modello?

> Vedo che tu hai escogitato una soluzione... pruriginosa... sostituendo il
> testo "XXX" col numero. Ho capito bene?


Hai capito benissimo,..purtroppo, non avendo conoscenze approfondite di vba
per word (e di word), in mancanza di altri interventi nel thread, pur di
dare un aiuto, ho pensato ad una soluzione (che mi sembra funzionante), ben
consapevole pero', *non* essere certamente la migliore (da tutti i punti di
vista)!


> Io preferisco invece una soluzione forse piu' laboriosa ma, credo, piu'
> affidabile. Memorizzerei il numero in una proprieta' del documento, quindi
> ovunque nel documento io voglia ottenere tale numero userei un codice di
> campo:


> 1. Si crea il modello.

> 2. Si crea una proprieta' del documento (es: "NumProgr") destinata a
> essere valorizzata col numero progressivo.


Da codice?


> 3. Dove necessario, si immettono nel testo del modello i codici di campo
> che fanno riferimento alla proprieta' del documento "NumProgr":
>
> { DOCPROPERTY NumProgr }
>
> 4. Si salva il modello.
>
> 5. Alla creazione di un nuovo documento basato sul modello si legge
> (GetSetting) il valore della chiave del registro di Windows e lo si
> assegna a una variabile (es: strNumProgr).
>
> 6. Si assegna tale valore alla proprieta' "NumProgr":
>
> ThisDocument.CustomDocumentProperties("NumProgr").Value = strNumProgr
>
> 7. Si aggiornano tutti i codici di campo.


> Che ne dici?


Dico che hai sicuramente ragione (mi fido ciecamente.. :-))..), ma
purtroppo, come gia' detto, *non* avendo conoscenze approfondite di vba per
word (e di word), non credo di riuscire a scrivere il "codice" sulla base
dei tuoi *preziosi* suggerimenti, almeno in tempi brevi.... :-(((


> Della questione (B) ne potremo riparlare in seguito, ok?

OK! ;-).... (mi sa che si tratta di un qualcosa di non tanto semplice..
:-)..)

Un' ultima (forse ;-)) richiesta: ti ho chiamato in causa, anche in questo
thread http://tinyurl.com/2jy6y8 (mpioe), dove, gradirei, un tuo intervento
chiarificatore.... :-)

Ciao e grazie milleeeee
Pippo

Maurizio Borrelli

da leggere,
28 nov 2007, 17:37:5828/11/07
a
"Pippo" wrote in message
news:D1B5CE39-5356-428F...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:%23f%23u8rfM...@TK2MSFTNGP06.phx.gbl...

> > "Pippo" wrote in message
> > news:6B7DCB6F-8BD2-40FE...@microsoft.com:

> >> "Maurizio Borrelli" ha scritto nel messaggio
> >> news:%23FGCigb...@TK2MSFTNGP04.phx.gbl...

[...]

> > (A)
> >> vorrei sapere, se le modifiche apportate alla
> >> *tua* macro sono corrette e se si puo' fare di
> >> meglio... ;-))

[...]

> > Vedo che tu hai escogitato una soluzione... pruriginosa... sostituendo
> il testo "XXX" col numero. Ho capito bene?
> Hai capito benissimo,..purtroppo, non avendo conoscenze approfondite di
> vba
> per word (e di word), in mancanza di altri interventi nel thread, pur di
> dare un aiuto, ho pensato ad una soluzione (che mi sembra funzionante),
> ben
> consapevole pero', *non* essere certamente la migliore (da tutti i punti
> di vista)!
> > Io preferisco invece una soluzione forse piu' laboriosa ma, credo,
> > piu'
> > affidabile. Memorizzerei il numero in una proprieta' del documento,
> > quindi
> > ovunque nel documento io voglia ottenere tale numero userei un codice
> > di campo:
> > 1. Si crea il modello.
> > 2. Si crea una proprieta' del documento (es: "NumProgr") destinata a
> > essere valorizzata col numero progressivo.
> Da codice?

Non necessariamente. Anche a mano va benissimo.

> > 3. Dove necessario, si immettono nel testo del modello i codici di
> > campo
> > che fanno riferimento alla proprieta' del documento "NumProgr":
> > { DOCPROPERTY NumProgr }

A mano anche questo.

> > 4. Si salva il modello.
> > 5. Alla creazione di un nuovo documento basato sul modello si legge
> > (GetSetting) il valore della chiave del registro di Windows e lo si
> > assegna a una variabile (es: strNumProgr).
> > 6. Si assegna tale valore alla proprieta' "NumProgr":
> > ThisDocument.CustomDocumentProperties("NumProgr").Value = strNumProgr
> > 7. Si aggiornano tutti i codici di campo.
> > Che ne dici?
> Dico che hai sicuramente ragione (mi fido ciecamente.. :-))..), ma
> purtroppo, come gia' detto, *non* avendo conoscenze approfondite di vba
> per
> word (e di word), non credo di riuscire a scrivere il "codice" sulla
> base
> dei tuoi *preziosi* suggerimenti, almeno in tempi brevi.... :-(((

[...]

Ciao Pippo.

Non c'e' problema. Il codice gia' lo stiamo scrivendo. Quanto sopra
serve appunto per verificare se intendiamo la stessa cosa, prima di
tradurre in codice. L'importante e' che i punti che ho indicato siano
chiari. E' anche opportuno verificare alcuni singoli passi. Per esempio
hai gia' provato a creare (non con un modello ma in un documento) la
proprieta' che ho chiamato "NumProgr"? E a modificarne il valore? Questi
sono i test utili e necessarii prima di passare alla scrittura del
codice. Io almeno di solito faccio queste prove, prima di mettermi a
scrivere. Intendo, per esempio, il digitare nella Finestra immediata:

ThisDocument.CustomDocumentProperties("NumProgr").Value = "2"

Poi, sempre in quella finestra, digitare:

?ThisDocument.CustomDocumentProperties("NumProgr").Value

e vedere se si ottiene "2".

Quindi aggiornare tutti i campi e verificare che compaia il valore "2".

Pippo

da leggere,
28 nov 2007, 18:36:5828/11/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:eTlfW9gM...@TK2MSFTNGP04.phx.gbl...

[cut]

>> > Io preferisco invece una soluzione forse piu' laboriosa ma, credo,
>> > piu'
>> > affidabile. Memorizzerei il numero in una proprieta' del documento,
>> > quindi
>> > ovunque nel documento io voglia ottenere tale numero userei un codice
>> > di campo:
>> > 1. Si crea il modello.
>> > 2. Si crea una proprieta' del documento (es: "NumProgr") destinata a
>> > essere valorizzata col numero progressivo.

>> Da codice?

> Non necessariamente. Anche a mano va benissimo.

Ok, Excel2003: dal menu file => proprieta' => personalizza, definisco la
proprieta':

Nome: NumProgr

Tipo: Numero

Valore: 0

... e clicco su "Aggiungi"


>> > 3. Dove necessario, si immettono nel testo del modello i codici di
>> > campo
>> > che fanno riferimento alla proprieta' del documento "NumProgr":
>> > { DOCPROPERTY NumProgr }
>
> A mano anche questo.


OK! Fatto! (nel menu di scelta dei tipi di campo, mi ritrovo la proprieta'
"NumProgr" sopra definita)

>
>> > 4. Si salva il modello.
>> > 5. Alla creazione di un nuovo documento basato sul modello si legge
>> > (GetSetting) il valore della chiave del registro di Windows e lo si
>> > assegna a una variabile (es: strNumProgr).
>> > 6. Si assegna tale valore alla proprieta' "NumProgr":
>> > ThisDocument.CustomDocumentProperties("NumProgr").Value = strNumProgr
>> > 7. Si aggiornano tutti i codici di campo.

> Non c'e' problema. Il codice gia' lo stiamo scrivendo.


Perfetto!


>Quanto sopra serve appunto per verificare se intendiamo la stessa cosa,
>prima di tradurre in codice. L'importante e' che i punti che ho indicato
>siano chiari. E' anche opportuno verificare alcuni singoli passi. Per
>esempio hai gia' provato a creare (non con un modello ma in un documento)
>la proprieta' che ho chiamato "NumProgr"? E a modificarne il valore? Questi
>sono i test utili e necessarii prima di passare alla scrittura del codice.
>Io almeno di solito faccio queste prove, prima di mettermi a scrivere.
>Intendo, per esempio, il digitare nella Finestra immediata:


> ThisDocument.CustomDocumentProperties("NumProgr").Value = "2"


OK!


> Poi, sempre in quella finestra, digitare:
>
> ?ThisDocument.CustomDocumentProperties("NumProgr").Value
>
> e vedere se si ottiene "2".


OK, perfetto! Siamo in linea! :-))


> Quindi aggiornare tutti i campi e verificare che compaia il valore "2".

Grande! Funziona!

Aspetto ulteriori istruzioni.... ;-))

PS: come mai non mi hai fatto partire dal modello?

Ciao e grazie milleeeeee
Pippo


Maurizio Borrelli

da leggere,
28 nov 2007, 19:03:1528/11/07
a
"Pippo" wrote in message
news:7E7815A3-A28D-4A8E...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:eTlfW9gM...@TK2MSFTNGP04.phx.gbl...

[...]

> > Quindi aggiornare tutti i campi e verificare che compaia il valore
> "2".
> Grande! Funziona!
> Aspetto ulteriori istruzioni.... ;-))
> PS: come mai non mi hai fatto partire dal modello?

Ciao Pippo.

Perche' un documento "funziona", mentre un modello... "funzionera'".
Funzionera' quando creeremo un documento basato su quel modello. Inoltre
il documento potra' essere salvato come modello. E, da una certa
versione di Word in poi (2000?), si possono creare anche documenti
basati su altri documenti (usati come modelli).

--
Ciao :o) Microsoft MVP (Excel)

Maurizio <https://mvp.support.microsoft.com/profile/Maurizio.Borrelli>

Pippo

da leggere,
28 nov 2007, 19:25:3828/11/07
a
"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:emKm%23shMI...@TK2MSFTNGP04.phx.gbl...

>> > Quindi aggiornare tutti i campi e verificare che compaia il valore
>> "2".
>> Grande! Funziona!

>> Aspetto ulteriori istruzioni.... ;-))

>> PS: come mai non mi hai fatto partire dal modello?

> Perche' un documento "funziona", mentre un modello... "funzionera'".

> Funzionera' quando creeremo un documento basato su quel modello.


*Grazie* Maurizio, appena possibile (la stanchezza incomincia a farsi
sentire..) provero' a scrivere il codice sulla base dei tuoi suggerimenti
(non mi abbandonare :-)) ).


> Inoltre il documento potra' essere salvato come modello.

OK!

>E, da una certa versione di Word in poi (2000?), si possono creare anche
>documenti basati su altri documenti (usati come modelli).

Non ho ben capito!?..Sara' la stanchezza? ;-)

Ciao e grazie 100000000000..
Pippo


Maurizio Borrelli

da leggere,
29 nov 2007, 06:09:4729/11/07
a
"Pippo" wrote in message
news:7C2F5719-BD5B-4158...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:emKm%23shMI...@TK2MSFTNGP04.phx.gbl...

[...]

> > E, da una certa versione di Word in poi (2000?), si possono creare
> > anche documenti basati su altri documenti (usati come modelli).

> Non ho ben capito!?..Sara' la stanchezza? ;-)

Ciao Pippo.

Esempio (Word 2003):

File > Nuovo...

e compare il riquadro "Nuovo documento" in cui sono elencate le seguenti
opzioni:

----------
Nuovo
. Documento nuovo
. Documento XML
. Pagina WEB
. Messaggio di posta elettronica
. Da documento esistente... <<-- osserva questo!
Modelli
[...]
----------

Ho verificato e rettifico: la possibilita' di creare documenti basati su
documenti esistenti fa la sua comparsa con Office XP (2002) e non 2000.
Fino alla versione 2000 compresa, perche' un documento potesse essere
usato come modello era necessario che fosse salvato come modello;
addirittura non era nemmeno sufficiente modificarne l'estensione da
".doc" a ".dot", in quanto non sarebbe comunque apparso nella finestra
"Nuovo" dalla quale v'era la possibilita' di scegliere il modello (o
l'autocomposizione/wizard) su cui basare il documento.

Pippo

da leggere,
29 nov 2007, 13:41:1129/11/07
a

"Pippo" <nos...@nospam.it> ha scritto nel messaggio
news:7C2F5719-BD5B-4158...@microsoft.com...

> "Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel
> messaggio news:emKm%23shMI...@TK2MSFTNGP04.phx.gbl...

>>> Aspetto ulteriori istruzioni.... ;-))


>
>>> PS: come mai non mi hai fatto partire dal modello?
>
>> Perche' un documento "funziona", mentre un modello... "funzionera'".
>> Funzionera' quando creeremo un documento basato su quel modello.


> *Grazie* Maurizio, appena possibile (la stanchezza incomincia a farsi
> sentire..) provero' a scrivere il codice sulla base dei tuoi suggerimenti
> (non mi abbandonare :-)) ).

Ecco il codice modificato sulla base dei *tuoi preziosi suggerimenti*, che
ho incollato nel modulo:

" ThisDocument "

del progetto Visual Basic del *modello* (*.dot) creato.


'=================================================

Private Sub Document_New()

Dim strAppName As String
Dim strSection As String
Dim strKey As String
Dim strDefault As String


strAppName = "Maurizio"


strSection = "Test"
strKey = "Progressivo"
strDefault = "0"
SaveSetting strAppName _
, strSection _
, strKey _
, CLng(GetSetting(strAppName, strSection, strKey, strDefault)) _
+ 1

With ActiveDocument

.CustomDocumentProperties("NumProgr").Value = _
CLng(GetSetting(strAppName, strSection, strKey, strDefault))

.Fields.Update

End With

'===================================================

Cosa ne pensi?

Sembra funzionare......

Si puo' ancora migliorare?

Ho notato che, con il registratore di macro attivo, non sempre e' possibile
eseguire alcune operazioni da registrare, ad es., volendo registrare
l'azione di aggiornamento "campo", il puntatore del mouse, assume la forma
di una "cassettina" e non mi viene consentito di fare "clic" dx sul "campo
codice" per selezionare "aggiorna campo": sara' un baco di word2003?

Maurizio, quando ti e' possibile, *riprendiamo* (magari procedendo per gradi
allo stesso modo del punto A) anche il seguente punto B? ;-))

(B)
Inoltre, qualora sia necessario lavorare in *locale*, con piu' pc, quale
potrebbe essere una soluzione, per continuare ad avere la numerazione
*univoca* e *progressiva* per i documenti generati da uno *stesso*
modello?

Suggerimenti? ;-)

Da dove partire?

Ho l'impressione che non sia cosi' semplice da fare.....

Una mia idea era quella di utilizzare un file di testo esterno, es.
"numprogr.txt", in cui salvare (tramite codice vbscript, che cmq *non*
conosco) il "progressivo", ma cio' implica, di trasportare il file
"numprogr.txt", su un pc o su un altro a seconda delle esigenze.... uhm.. la
vedo dura... :-((

Maurizio Borrelli

da leggere,
29 nov 2007, 16:58:3229/11/07
a
"Pippo" wrote in message
news:OxlKUerM...@TK2MSFTNGP05.phx.gbl:

> "Pippo" ha scritto nel messaggio
> news:7C2F5719-BD5B-4158...@microsoft.com...

> > "Maurizio Borrelli" ha scritto nel messaggio
> > news:emKm%23shMI...@TK2MSFTNGP04.phx.gbl...

(1)
> Ecco il codice modificato
[...]

(2)


> Ho notato che, con il registratore di macro attivo, non sempre e'
> possibile eseguire alcune operazioni da registrare, ad es., volendo registrare
> l'azione di aggiornamento "campo", il puntatore del mouse, assume la
> forma di una "cassettina" e non mi viene consentito di fare "clic" dx sul
> "campo codice" per selezionare "aggiorna campo": sara' un baco di word2003?
> Maurizio, quando ti e' possibile, *riprendiamo* (magari procedendo per
> gradi allo stesso modo del punto A) anche il seguente punto B? ;-))

(B)
> Inoltre, qualora sia necessario lavorare in *locale*, con piu' pc,
> quale potrebbe essere una soluzione, per continuare ad avere la numerazione
> *univoca* e *progressiva* per i documenti generati da uno *stesso*
> modello?
> Suggerimenti? ;-)
> Da dove partire?
> Ho l'impressione che non sia cosi' semplice da fare.....
> Una mia idea era quella di utilizzare un file di testo esterno, es.
> "numprogr.txt", in cui salvare (tramite codice vbscript, che cmq *non*
> conosco) il "progressivo", ma cio' implica, di trasportare il file
> "numprogr.txt", su un pc o su un altro a seconda delle esigenze....
> uhm.. la vedo dura... :-((

Ciao Pippo.

(1)
Direi che ci siamo! La struttura e' quella. Proviamo pero' a riflettere
su cosa fa effettivamente il codice che hai postato e vediamo se fa
proprio cio' che sta bene a noi. Ogni volta che si crea un nuovo
documento basato su quel modello viene letto il valore di una certa
chiave del registro, ne viene incrementato il valore che viene quindi
assegnato a una certa proprieta' del nuovo documento. Che succede se
l'utente chiude tale nuovo documento senza salvare? Ovvero rinunzia alla
creazione. Che otteniamo dei buchi nella numerazione, giusto? Ci sta
bene questo? E se volessimo, da piu' pc, generare una numerazione
progressiva di gruppo? (Ecco la sezione B che avevo accantonato la volta
scorsa...). Non potremo piu' memorizzare il contatore nel registro. Il
file "numprogr.txt" di cui parli andrebbe benissimo (con le dovute
cautele che potremmo analizzare) e "appoggiandolo" in una cartella
condivisa accessibile da tutti gli utenti che ne hanno bisogno non
sarebbe necessario il trasporto di cui parli.

(2)
Sta scritto (ma non ricordo dove) che il registratore di macro non va
usato col mouse ma solo con la tastiera.

Pippo

da leggere,
29 nov 2007, 18:01:5229/11/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:Od%23G8LtM...@TK2MSFTNGP06.phx.gbl...

> (1)
> Direi che ci siamo! La struttura e' quella. Proviamo pero' a riflettere su
> cosa fa effettivamente il codice che hai postato e vediamo se fa proprio
> cio' che sta bene a noi. Ogni volta che si crea un nuovo documento basato
> su quel modello viene letto il valore di una certa chiave del registro, ne
> viene incrementato il valore che viene quindi assegnato a una certa
> proprieta' del nuovo documento. Che succede se l'utente chiude tale nuovo
> documento senza salvare? Ovvero rinunzia alla creazione.

> Che otteniamo dei buchi nella numerazione, giusto?

Accidenti! Certo!

Quindi, bisogna accertarsi, se, il "documento" creato sulla base del
modello, sia stato *salvato*!
Come fare ?

Per verificare se il documento e' stato salvato, avrei pensato ad un
controllo del tipo:

If ActiveDocument.Path <> "" Then ....

..poi.. dove piazzare la suddetta istruzione? Evento "Close" ?

Mi dai qualche suggerimento? ;-))

>Ci sta bene questo?

NOOO! :-((

> E se volessimo, da piu' pc, generare una numerazione progressiva di
> gruppo? (Ecco la sezione B che avevo accantonato la volta scorsa...). Non
> potremo piu' memorizzare il contatore nel registro.

La "numerazione" non andrebbe a memorizzarsi nel registro del server?
Cioe', lo stesso modello viene condiviso da piu' utenti e, le "numerazioni",
vengono registrate, utilizando il suddetto codice (da modificare), sul
server.

Non ho esperienza di programmazione per pc in rete, quindi, sicuramente
avro' detto delle cavolate... :-((

>Il file "numprogr.txt" di cui parli andrebbe benissimo (con le dovute
>cautele che potremmo analizzare) e "appoggiandolo" in una cartella
>condivisa accessibile da tutti gli utenti che ne hanno bisogno non sarebbe
>necessario il trasporto di cui parli.

Io pero', mi riferivo a piu' pc che lavorano in *locale* (un pc ubicato in
magazzino, un altro a casa, ma non connessi in rete), *non* collegati in
rete, cmq e' interessante anche il caso di pc collegati in rete.

> (2)
> Sta scritto (ma non ricordo dove) che il registratore di macro non va
> usato col mouse ma solo con la tastiera.

OK, provo a dare uno sguardo alla guida!

Ciao e grazie mille per la disponibilita' e competenza!
Pippo

Pippo

da leggere,
29 nov 2007, 19:18:2529/11/07
a

>> (1)
>> Direi che ci siamo! La struttura e' quella. Proviamo pero' a riflettere
>> su cosa fa effettivamente il codice che hai postato e vediamo se fa
>> proprio cio' che sta bene a noi. Ogni volta che si crea un nuovo
>> documento basato su quel modello viene letto il valore di una certa
>> chiave del registro, ne viene incrementato il valore che viene quindi
>> assegnato a una certa proprieta' del nuovo documento. Che succede se
>> l'utente chiude tale nuovo documento senza salvare? Ovvero rinunzia alla
>> creazione.
>
>> Che otteniamo dei buchi nella numerazione, giusto?
>
> Accidenti! Certo!

> Quindi, bisogna accertarsi, se, il "documento" creato sulla base del
> modello, sia stato *salvato*!
> Come fare ?
>


> Per verificare se il documento e' stato salvato, avrei pensato ad un
> controllo del tipo:
>
> If ActiveDocument.Path <> "" Then ....


oppure: If ActiveDocument.Saved = False Then...

uhm..pero', debbo anche verificare che, il documento "attivo", non e' un
qualsiasi documento, ma e' *proprio* quello basato sul mio *modello* !!!

Giusto?

> ..poi.. dove piazzare la suddetta istruzione? Evento "Close" ?

> Mi dai qualche suggerimento? ;-))
>
>>Ci sta bene questo?
>
> NOOO! :-((

Ciao e grazie milleee
Pippo

Giovanni Zezza

da leggere,
30 nov 2007, 04:57:5930/11/07
a
Pippo, nel messaggio <39D682E1-0F55-4134...@microsoft.com>,
scriveva:

>Io pero', mi riferivo a piu' pc che lavorano in *locale* (un pc ubicato in
>magazzino, un altro a casa, ma non connessi in rete), *non* collegati in
>rete, cmq e' interessante anche il caso di pc collegati in rete.

Se vuoi che si tratti di un numero progressivo (e senza buchi), i pc devono
poter accedere alla medesima informazione di quale sia l'ultimo numero
registrato. Che questo voglia dire contattare un server centrale in rete,
trasportare fisicamente un file da un pc all'altro, o trascriversi il
numero su un fogliettino e ribatterlo a mano cambia poco: in qualche modo
l'informazione deve essere comunicata.

Il modo migliore, più semplice e più sicuro, è ovviamente che il dato sia
conservato in un'unica postazione centrale, amministrato possibilmente da
un programma server (piuttosto che dall'accesso diretto ad un unico file da
parte di tutti i pc). Si può usare, se è già disponibile, un server
database, o studiare qualcosa ad hoc di più agile per questo solo scopo.

Se invece è possibile rilassare la condizione "numero progressivo",
trasformandola in "identificativo univoco", ci sono meccanismi che
consentono di generare codici univoci in modo indipendente e senza alcun
contatto fra i vari soggetti (vedi i Message-ID dei messaggi di posta).

Banalmente, ogni postazione potrebbe avere un proprio identificativo, da
anteporre ad un numero progressivo locale (da cui risulterebbero codici del
tipo: CASA.1, CASA.2, MAGAZZINO.1...), oppure si possono pensare meccanismi
basati su data e ora (timestamp), che consentirebbero anche un ordinamento
cronologico dei codici, o altro ancora.

Ciao.

Giovanni Zezza

da leggere,
30 nov 2007, 05:44:4230/11/07
a
Pippo, nel messaggio <AE42CE62-DBC4-4FCE...@microsoft.com>,
scriveva:

>oppure: If ActiveDocument.Saved = False Then...
>
>uhm..pero', debbo anche verificare che, il documento "attivo", non e' un
>qualsiasi documento, ma e' *proprio* quello basato sul mio *modello* !!!
>
>Giusto?
>
>> ..poi.. dove piazzare la suddetta istruzione? Evento "Close" ?

Non è meglio stabilire un'azione specifica ("registrazione a protocollo")?:
prima il documento viene creato e salvato, quindi si decide se
effettivamente sia il caso di protocollarlo, e a quel punto i giochi sono
fatti in modo definitivo, senza necessità di ulteriori controlli.

In pratica, puoi aggiungere un pulsante o una voce di menu "Protocollo" che
gestisca l'operazione. La voce sarà attiva solo per i documenti basati su
quel modello, e solo per documenti ancora da protocollare (la prima
condizione è più o meno automatica, per la seconda si tratta di registrare
da qualche parte nel documento lo stato rispetto al protocollo).

L'evento Close di documenti non protocollati potrebbe evetualmente essere
usato per ricordare all'utente di effettuare l'operazione (ma, direi, NON
per farla automaticamente: rendere consapevole l'utente dell'operazione mi
sembra più sicuro).

Ciao.

Maurizio Borrelli

da leggere,
6 dic 2007, 13:24:0206/12/07
a
"Pippo" wrote in message
news:AE42CE62-DBC4-4FCE...@microsoft.com:

> ----- Original Message -----
> From: "Pippo"
> Newsgroups: microsoft.public.it.office.word
> Sent: Friday, November 30, 2007 12:01 AM
> Subject: Re: Numero progressivo in word
> > "Maurizio Borrelli" ha scritto nel messaggio
> > news:Od%23G8LtM...@TK2MSFTNGP06.phx.gbl...

[...]


> >> Che otteniamo dei buchi nella numerazione, giusto?
> Accidenti! Certo!
> > Quindi, bisogna accertarsi, se, il "documento" creato sulla base del
> > modello, sia stato *salvato*!
> Come fare ?
> > Per verificare se il documento e' stato salvato, avrei pensato ad un
> > controllo del tipo:
> If ActiveDocument.Path <> "" Then ....
> oppure: If ActiveDocument.Saved = False Then...
> uhm..pero', debbo anche verificare che, il documento "attivo", non e' un
> qualsiasi documento, ma e' *proprio* quello basato sul mio *modello* !!!
> Giusto?
> > ..poi.. dove piazzare la suddetta istruzione? Evento "Close" ?
> > Mi dai qualche suggerimento? ;-))
> >>Ci sta bene questo?
> > NOOO! :-((

Ciao Pippo.

Ho appena postato questo:

http://groups.google.it/group/microsoft.public.it.office.word/browse_frm/thread/90eb646ddde8abb4

Contiene del codice utile al nostro discorso che, come vedi, non ho
interrotto. Solo stavo meditando su come... diluire le diverse
problematiche riguardanti l'oggetto.

Una di queste era proprio la risposta al tuo "dove piazzare... ?", che
puoi vedere nel post di cui al collegamento. Se vuoi potremmo
(ri)partire da quel piccolissimo progetto.

Pippo

da leggere,
6 dic 2007, 17:01:3306/12/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:%23$PisUDOI...@TK2MSFTNGP05.phx.gbl...
> "Pippo" wrote in message

>> >> Che otteniamo dei buchi nella numerazione, giusto?
>> Accidenti! Certo!
>> > Quindi, bisogna accertarsi, se, il "documento" creato sulla base del
>> > modello, sia stato *salvato*!
>> Come fare ?
>> > Per verificare se il documento e' stato salvato, avrei pensato ad un
>> > controllo del tipo:
>> If ActiveDocument.Path <> "" Then ....
>> oppure: If ActiveDocument.Saved = False Then...
>> uhm..pero', debbo anche verificare che, il documento "attivo", non e' un
>> qualsiasi documento, ma e' *proprio* quello basato sul mio *modello* !!!
>> Giusto?
>> > ..poi.. dove piazzare la suddetta istruzione? Evento "Close" ?
>> > Mi dai qualche suggerimento? ;-))
>> >>Ci sta bene questo?
>> > NOOO! :-((

> Ho appena postato questo:
>
> http://groups.google.it/group/microsoft.public.it.office.word/browse_frm/thread/90eb646ddde8abb4


Gulp! :-((


> Contiene del codice utile al nostro discorso che, come vedi, non ho
> interrotto. Solo stavo meditando su come... diluire le diverse
> problematiche riguardanti l'oggetto.
>
> Una di queste era proprio la risposta al tuo "dove piazzare... ?", che
> puoi vedere nel post di cui al collegamento.

>Se vuoi potremmo (ri)partire da quel piccolissimo progetto.

Certamente,.. pero', ho iniziato a dare uno sguardo al link che hai
evidenziato e, purtroppo, *non* sono riuscito a capire molto bene, *almeno*
l'algoritmo: causa, molto probabilmente, la mia *bassa* conoscenza di vba
per word.

Attendo, se hai mooolta *pazienza*, un qualche tuo lume..... ;-)

Ciao e grazie mille per l'infinita disponibilita'!
Pippo

Maurizio Borrelli

da leggere,
6 dic 2007, 17:25:4806/12/07
a
"Pippo" wrote in message
news:84D6F6B3-DD9E-4566...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:%23$PisUDOI...@TK2MSFTNGP05.phx.gbl...

> > Ho appena postato questo:
> > http://groups.google.it/group/microsoft.public.it.office.word/browse_frm
> > /thread/90eb646ddde8abb4

> Certamente,.. pero', ho iniziato a dare uno sguardo al link che hai


> evidenziato e, purtroppo, *non* sono riuscito a capire molto bene,
> *almeno* l'algoritmo: causa, molto probabilmente, la mia *bassa*
> conoscenza di vba per word.
> Attendo, se hai mooolta *pazienza*, un qualche tuo lume..... ;-)

Ciao Pippo.

No, niente lumi... ma a domanda, se posso, rispondo. ;-)

La prima cosa che ci dovresti dire e' se "gira", ovvero se riesci a
farlo "girare".

Maurizio Borrelli

da leggere,
6 dic 2007, 18:55:5306/12/07
a
"Pippo" wrote in message
news:AE42CE62-DBC4-4FCE...@microsoft.com:

> > "Maurizio Borrelli" ha scritto nel
> > messaggio news:Od%23G8LtM...@TK2MSFTNGP06.phx.gbl...

[...]


> uhm..pero', debbo anche verificare che, il documento "attivo", non e' un
> qualsiasi documento, ma e' *proprio* quello basato sul mio *modello* !!!
> Giusto?
> > ..poi.. dove piazzare la suddetta istruzione? Evento "Close" ?

[...]

Ciao Pippo.

Concludo -- per modo di dire perche' ci saranno ancora tante cose da
dire -- postando un abbozzo essenziale di uno dei modi in cui si puo'
gestire una numerazione automatica (del protocollo, numero e data)
prevedendo anche la questione che hai sollevato, ovvero quella della
"trasportabilita'" del... numero. Suppongo che tu abbia ipotizzato una
situazione in cui *una sola persona* vorrebbe proseguire, per esempio
col portatile, un lavoro cominciato in ufficio ed abbia quindi
l'esigenza di *spostare* l'"oggetto" che contiene il numero da
incrementare. E viceversa, ovviamente. Situazione questa in cui l'uso di
una chiave di registro non sarebbe comoda. Ho quindi tolto il contatore
dal registro e l'ho incorporato nel modello, sotto forma di proprieta
personalizzata del documento. Questa stessa soluzione potrebbe essere
efficace anche nell'altro caso di cui si e' parlato, quello della
"multiutenza" o "gruppo di lavoro", ipotizzando un modello da salvare
appunto nella cartella "Modelli workgroup", ma questa ultima soluzione
non ho ancora potuto verificarla.

Ecco quindi il codice.

Proprieta' personalizzate del Modello (Custom Document Properties)
Nome: ProtNumero
Tipo: Numero
Valore: 0
Nome: ProtData
Tipo: Data
Valore: 1/1/2007

' Preventivi.dot(m)
' modAutoMacros - Module
Option Explicit

Public Const gcstrProjectName = "Preventivi"
Public Const gcstrCDPProtNumero = "ProtNumero"
Public Const gcstrCDPProtData = "ProtData"

Public Sub AutoNew()
'MsgBox "AutoNew", , gcstrProjectName
With ThisDocument
If .WordApp Is Nothing Then
Set .WordApp = .Application
End If
End With
End Sub

Public Sub AutoClose()
'MsgBox "AutoClose", , gcstrProjectName
With ThisDocument
If .OnQuit Then
Set .WordApp = Nothing
End If
End With
End Sub

' Preventivi.dot(m)
' ThisDocument - Document
Option Explicit

Public WithEvents WordApp As Word.Application
Private mblnOnQuit As Boolean

Public Property Get OnQuit() As Boolean
OnQuit = mblnOnQuit
End Property

Private Sub Document_New()
On Error GoTo ErrorHandler

'MsgBox "Document_New", , gcstrProjectName
'Stop
With Me.Application.ActiveDocument
With .CustomDocumentProperties
.Item(gcstrCDPProtNumero).Value = 0
.Item(gcstrCDPProtData).Value = Date
End With
.Fields.Update
End With
Selection.EndKey Unit:=wdStory

ExitProcedure:
Exit Sub

ErrorHandler:
Debug.Print gcstrProjectName; ":Document_New"
With Err
Debug.Print "ERR#"; Format$(.Number); " "; .Description
End With
Resume ExitProcedure

End Sub

Private Sub WordApp_DocumentBeforeSave(ByVal Doc As Word.Document _
, ByRef SaveAsUI As Boolean _
, ByRef Cancel As Boolean)
On Error GoTo ErrorHandler
Dim objTemplate As Word.Template
Dim lngProtNum As Long
Dim dtmProtData As Date

Debug.Print gcstrProjectName; ":WordApp_DocumentBeforeSave"
'Stop

If SaveAsUI = False Then Exit Sub
If Doc.AttachedTemplate.FullName <> ThisDocument.FullName _
Then Exit Sub

With Doc
With .AttachedTemplate
With .CustomDocumentProperties
With .Item(gcstrCDPProtNumero)
lngProtNum = .Value + 1
.Value = lngProtNum
Doc.CustomDocumentProperties _
.Item(gcstrCDPProtNumero) = .Value
End With
With .Item(gcstrCDPProtData)
dtmProtData = Date
.Value = dtmProtData
Doc.CustomDocumentProperties _
.Item(gcstrCDPProtData) = .Value
End With
End With
.Save
End With
With .CustomDocumentProperties
.Item(gcstrCDPProtNumero).Value = lngProtNum
.Item(gcstrCDPProtData).Value = dtmProtData
End With
.Fields.Update
End With
Cancel = True
With Me.Application.Dialogs(wdDialogFileSaveAs)
.Name = Format$(dtmProtData, "yyyy") _
& "-" & Format$(lngProtNum, "0000")
.Show
End With

ExitProcedure:
Set objTemplate = Nothing
Exit Sub

ErrorHandler:
Debug.Print gcstrProjectName; ":WordApp_DocumentBeforeSave"
With Err
Debug.Print "ERR#"; Format$(.Number); " "; .Description
End With
Resume ExitProcedure

End Sub

Private Sub WordApp_Quit()
mblnOnQuit = True
End Sub

Pippo

da leggere,
6 dic 2007, 19:09:4106/12/07
a
"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:%23AwHzbF...@TK2MSFTNGP03.phx.gbl...

> "Pippo" wrote in message
> news:84D6F6B3-DD9E-4566...@microsoft.com:

>> Certamente,.. pero', ho iniziato a dare uno sguardo al link che hai


>> evidenziato e, purtroppo, *non* sono riuscito a capire molto bene,
>> *almeno* l'algoritmo: causa, molto probabilmente, la mia *bassa*
>> conoscenza di vba per word.
>> Attendo, se hai mooolta *pazienza*, un qualche tuo lume..... ;-)

> No, niente lumi... ma a domanda, se posso, rispondo. ;-)

> La prima cosa che ci dovresti dire e' se "gira", ovvero se riesci a farlo
> "girare".

Si', pero', per "girare", ho dovuto impostare (utilizzo "word 2003") il
livello di protezione macro da "Medio" a "BASSO".
Quanto sopra, se non ho commesso errori, potrebbe essere un punto *debole*?
;-)

Forse la macro "Autoexec"(di "esecuzione automatica"), richiede il suddetto
livello (BASSO) di protezione?

Chiaramente, mi sono semplicemente limitato al "copia-incolla", del tuo
codice, dal link che hai segnalato, (seguendo le tue istruzioni su *dove*
inserire il codice)....

Qualche altro suggerimento? ;-))..Uno spunto?.. (Io ci provo sempre.. :-))
...)

Maurizio Borrelli

da leggere,
7 dic 2007, 04:31:4807/12/07
a
"Maurizio Borrelli" wrote in message
news:#fJcIOGO...@TK2MSFTNGP04.phx.gbl:

[...]


> Questa stessa soluzione potrebbe essere
> efficace anche nell'altro caso di cui si e' parlato, quello della
> "multiutenza" o "gruppo di lavoro", ipotizzando un modello da salvare
> appunto nella cartella "Modelli workgroup", ma questa ultima soluzione
> non ho ancora potuto verificarla.

[...]


> Proprieta' personalizzate del Modello (Custom Document Properties)
> Nome: ProtNumero
> Tipo: Numero
> Valore: 0
> Nome: ProtData
> Tipo: Data
> Valore: 1/1/2007

[...]

Ciao a tutti.

Rieccomi per una prima aggiustatina.

Prima cosa ho verificato la questione "gruppo di lavoro" e purtroppo
questa impostazione non risolve in quanto fa uso del salvataggio del
modello, possibile solo a un utente per volta.

Poi segnalo la sostituzione di:

If SaveAsUI = False Then Exit Sub

perche' ho verificato che con Word 2000 non si comporta come ci si
aspetterebbe, con:

If Len(Doc.Path) Then Exit Sub

Quindi ho spostato il codice per l'aggiornamento delle proprieta' da
prima della comparsa della finestra "Salva con nome" a dopo l'eventuale
"Ok" dell'utente.

ExitProcedure:
Exit Sub

End Sub

Const clngShowOk = -1


Dim lngProtNum As Long
Dim dtmProtData As Date

Debug.Print gcstrProjectName; ":WordApp_DocumentBeforeSave"
'Stop

If Len(Doc.Path) Then Exit Sub
If Doc.AttachedTemplate.Name <> Me.Name Then Exit Sub

dtmProtData = Date
Cancel = True
With Doc.AttachedTemplate.CustomDocumentProperties
lngProtNum = .Item(gcstrCDPProtNumero).Value + 1
End With


With Me.Application.Dialogs(wdDialogFileSaveAs)
.Name = Format$(dtmProtData, "yyyy") _
& "-" & Format$(lngProtNum, "0000")

If .Show = clngShowOk Then


With Doc
With .AttachedTemplate
With .CustomDocumentProperties

.Item(gcstrCDPProtNumero).Value = lngProtNum
.Item(gcstrCDPProtData).Value = dtmProtData
End With
.Save
End With
With .CustomDocumentProperties
.Item(gcstrCDPProtNumero).Value = lngProtNum
.Item(gcstrCDPProtData).Value = dtmProtData
End With
.Fields.Update

.Save
End With
End If
End With

ExitProcedure:
Exit Sub

ErrorHandler:

Giovanni Zezza

da leggere,
7 dic 2007, 04:51:0807/12/07
a
Maurizio Borrelli, nel messaggio <#fJcIOGO...@TK2MSFTNGP04.phx.gbl>,
scriveva:

>una chiave di registro non sarebbe comoda. Ho quindi tolto il contatore
>dal registro e l'ho incorporato nel modello, sotto forma di proprieta
>personalizzata del documento.

Sapete vero che esistono le "variabili di documento"?:

...
ActiveDocument.Variables.Add("ProtNumero", 1)
NumeroProtocollo = ActiveDocument.Variables("ProtNumero").Value
...

Il numero di protocollo di questo documento č {DOCVARIABLE "ProtNumero"}


Per un giochino del genere sono secondo me una cosina un po' piů pulita,
essendo accessibili solo da VBA (o attraverso il campo DOCVARIABLE).

Ciao.

Maurizio Borrelli

da leggere,
7 dic 2007, 04:50:1307/12/07
a
"Pippo" wrote in message
news:36D594AD-E2FD-46D0...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:%23AwHzbF...@TK2MSFTNGP03.phx.gbl...

> >> Certamente,.. pero', ho iniziato a dare uno sguardo al link che hai


> >> evidenziato e, purtroppo, *non* sono riuscito a capire molto bene,
> >> *almeno* l'algoritmo: causa, molto probabilmente, la mia *bassa*
> >> conoscenza di vba per word.
> >> Attendo, se hai mooolta *pazienza*, un qualche tuo lume..... ;-)
> > No, niente lumi... ma a domanda, se posso, rispondo. ;-)
> > La prima cosa che ci dovresti dire e' se "gira", ovvero se riesci a
> > farlo "girare".
> Si', pero', per "girare", ho dovuto impostare (utilizzo "word 2003") il
> livello di protezione macro da "Medio" a "BASSO".
> Quanto sopra, se non ho commesso errori, potrebbe essere un punto
> *debole*?
> ;-)

[...]

Ciao Pippo.

Punto debole di cosa? O meglio... di chi? ;-)

Non ho verificato con Word 2003 ma solo con Word 2000 e 2007 i quali
sono entrambi impostati con protezione "Media" e non ottengo avvisi.

La cosa piu' probabile e' che il modello generato da te non sia
considerato attendibile dal tuo Word 2003. Se non ricordo male, sta
scritto (da qualche parte) che sono considerati attendibili i modelli
creati dall'utente *e* salvati in cartelle attendibili, cioe' quelle
indicate alle voci "Modelli utente" e "Modelli workgroup" nelle Opzioni
di Word "Directory predefinite".

Tu come hai creato, e dove hai salvato il modello?

--
(Facci sapere se e eventualmente come hai risolto. Grazie.)

Ciao :o) Microsoft MVP (Excel)

Maurizio Borrelli

da leggere,
7 dic 2007, 05:07:5907/12/07
a
"Giovanni Zezza" wrote in message
news:r75il391f7siacipe...@4ax.com:

> Maurizio Borrelli, nel messaggio
> <#fJcIOGO...@TK2MSFTNGP04.phx.gbl>,
> scriveva:

> >una chiave di registro non sarebbe comoda. Ho quindi tolto il contatore
> >dal registro e l'ho incorporato nel modello, sotto forma di proprieta
> >personalizzata del documento.
> Sapete vero che esistono le "variabili di documento"?:
> ...
> ActiveDocument.Variables.Add("ProtNumero", 1)
> NumeroProtocollo = ActiveDocument.Variables("ProtNumero").Value
> ...

> Il numero di protocollo di questo documento è {DOCVARIABLE
> "ProtNumero"}
> Per un giochino del genere sono secondo me una cosina un po' più pulita,


> essendo accessibili solo da VBA (o attraverso il campo DOCVARIABLE).

Ciao Giovanni.

Si', grazie. :-)

Sto valutando anche queste. Per ora mi sono orientato sulle Proprieta'
del documento per una ragione ben precisa: il tentativo di rendere
accessibile all'utente il numero progressivo allo scopo, per esempio, di
permettere l'azzeramento della numerazione al cambio d'anno, o per
manutenzione, senza necessita' di intervento "lato Visual Basic".

Di contro, la loro piu' immediata accessibilita' le rende meno "pulite",
come giustamente dici tu, e a questo si potrebbe anche porvi rimedio,
per esempio distruggendole dopo l'uso (previo "consolidamento" dei
codici di campo che fanno loro riferimento), ma non so se ne vale la
pena.

Sto valutando, insomma... e ogni osservazione e' graditissima.

--

Pippo

da leggere,
7 dic 2007, 16:46:3307/12/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:%23avuPaL...@TK2MSFTNGP03.phx.gbl...

> "Pippo" wrote in message
> news:36D594AD-E2FD-46D0...@microsoft.com:
>
>> "Maurizio Borrelli" ha scritto nel messaggio
>> news:%23AwHzbF...@TK2MSFTNGP03.phx.gbl...
>
>> >> Certamente,.. pero', ho iniziato a dare uno sguardo al link che hai
>> >> evidenziato e, purtroppo, *non* sono riuscito a capire molto bene,
>> >> *almeno* l'algoritmo: causa, molto probabilmente, la mia *bassa*
>> >> conoscenza di vba per word.
>> >> Attendo, se hai mooolta *pazienza*, un qualche tuo lume..... ;-)
>> > No, niente lumi... ma a domanda, se posso, rispondo. ;-)
>> > La prima cosa che ci dovresti dire e' se "gira", ovvero se riesci a
>> > farlo "girare".
>> Si', pero', per "girare", ho dovuto impostare (utilizzo "word 2003") il
>> livello di protezione macro da "Medio" a "BASSO".
>> Quanto sopra, se non ho commesso errori, potrebbe essere un punto
>> *debole*?

> Punto debole di cosa? O meglio... di chi? ;-)

:-))

> Non ho verificato con Word 2003 ma solo con Word 2000 e 2007 i quali sono
> entrambi impostati con protezione "Media" e non ottengo avvisi.
>
> La cosa piu' probabile e' che il modello generato da te non sia
> considerato attendibile dal tuo Word 2003. Se non ricordo male, sta
> scritto (da qualche parte) che sono considerati attendibili i modelli
> creati dall'utente *e* salvati in cartelle attendibili, cioe' quelle
> indicate alle voci "Modelli utente" e "Modelli workgroup" nelle Opzioni di
> Word "Directory predefinite".
>
> Tu come hai creato, e dove hai salvato il modello?

Oggi ho riprovato senza spostare il modello da me creato (che avevo salvato
nelle directory predefinite) ed, il tutto, "gira" con livello di protezione
"Medio": non saprei dirti cosa e' successo ieri!


Ciao e grazie mille
Pippo


Pippo

da leggere,
7 dic 2007, 17:08:3707/12/07
a

"Maurizio Borrelli" <maurizio...@freepass.it> ha scritto nel messaggio
news:u5aL%23PLOI...@TK2MSFTNGP03.phx.gbl...

> "Maurizio Borrelli" wrote in message
> news:#fJcIOGO...@TK2MSFTNGP04.phx.gbl:
>
> [...]
>> Questa stessa soluzione potrebbe essere
>> efficace anche nell'altro caso di cui si e' parlato, quello della
>> "multiutenza" o "gruppo di lavoro", ipotizzando un modello da salvare
>> appunto nella cartella "Modelli workgroup", ma questa ultima soluzione
>> non ho ancora potuto verificarla.
> [...]
>> Proprieta' personalizzate del Modello (Custom Document Properties)
>> Nome: ProtNumero
>> Tipo: Numero
>> Valore: 0
>> Nome: ProtData
>> Tipo: Data
>> Valore: 1/1/2007
> [...]


Ho inizato a studiarmi il tuo codice per cercare di capirci qualcosa, ed
eccomi con le prime domande ;-):


La "chiave" per capire il codice, credo sia soprattutto nella comprensione
delle seguenti righe:

'===================================


Public WithEvents WordApp As Word.Application
Private mblnOnQuit As Boolean

Public Property Get OnQuit() As Boolean
OnQuit = mblnOnQuit
End Property

'======================================

Giusto?

Per la parola chiave "WithEvents" pur avendo letto qualcosa su "internet"
non ho capito un bel niente.

Inoltre, non mi e' chiaro lo scopo della definizione della proprieta'
"OnQuit()".

Ti chiedo "Lumi" in merito, anzi, forse il "lume" non e' molto sufficiente,
visto il "buio" totale in cui mi trovo... :-((

Maurizio Borrelli

da leggere,
7 dic 2007, 17:46:0607/12/07
a
"Pippo" wrote in message
news:2AFDD9AA-F343-415E...@microsoft.com:

> "Maurizio Borrelli" ha scritto nel messaggio
> news:u5aL%23PLOI...@TK2MSFTNGP03.phx.gbl...

[...]


> > Rieccomi per una prima aggiustatina.

[...]

Ciao Pippo.

> Ho inizato a studiarmi il tuo codice per cercare di capirci qualcosa, ed
> eccomi con le prime domande ;-):
> La "chiave" per capire il codice, credo sia soprattutto nella
> comprensione delle seguenti righe:
> '===================================
> Public WithEvents WordApp As Word.Application
> Private mblnOnQuit As Boolean
> Public Property Get OnQuit() As Boolean
> OnQuit = mblnOnQuit
> End Property
> '======================================
> Giusto?

Giustissimo!

> Per la parola chiave "WithEvents" pur avendo letto qualcosa su
> "internet" non ho capito un bel niente.

"Internet" e' persino troppo in questo caso ;-) perche' hai gia' tutto a
portata di mano, anzi di dito (tasto F1!), nella "Guida di riferimento a
Visual Basic per Microsoft Word", alla pagina:

Utilizzo di eventi con l'oggetto Application.

oltre, naturalmente, alla pagina:

WithEvents

del capitolo "Riferimenti al linguaggio Visual Basic. Parole chiave"
nella "Documentazione di Microsoft Visual Basic".

Ne potremmo riparlare facendo riferimento a quelle pagine, nel caso tu
ne abbia necessita'.

> Inoltre, non mi e' chiaro lo scopo della definizione della proprieta'
> "OnQuit()".

E per questo e' opportuna una ripassatina della pagina:

Oggetti, proprietà, metodi ed eventi

del capitolo "Concetti di Visual Basic", sempre nella
"Documentazione..." di prima.

In particolare, dato che la macro automatica "AutoClose" altro non e',
dal punto di vista dell'utente, che una qualsiasi macro alla quale egli
puo' accedere dalla finestra "Macro" che si ottiene con:

Strumenti > Macro > Macro...

e quindi l'utente potrebbe essere preso dall'insana curiosita' di
lanciarla per vedere che succede, non ho potuto scriverla limitandomi a:

Public Sub AutoClose()
Set ThisDocument.WordApp = Nothing
End Sub

come sarebbe necessario e sufficiente, ma ho dovuto condizionare
l'"uccisione" della variabile-oggetto per l'intercettazione degli eventi
dell'oggetto Application "WordApp", verificando che il "sistema" (Word)
sia effettivamente in uno stato di chiusura in corso.

alessandr...@gmail.com

da leggere,
10 feb 2012, 01:41:5710/02/12
a
Salve ragazzi! Riprendo questa discussione nella speranza di trovare una risposta illuminante.
Con Word 2010 è possibile numerare le pagine ad ogni apertura?
Nella mia azienda i contratti sono in formato .docx. Purtroppo il formato .dotx non è compatibile con la macro per l'aggiornamento di tutti i campi che ho impostato.
Se sì, mi potete aiutare a capire come poterlo far funzionare questo contatore?
Grazie mille sin d'ora.

A. Marengo

Mauro Gamberini

da leggere,
10 feb 2012, 02:59:5410/02/12
a
Purtroppo il formato .dotx non è compatibile con la macro per
l'aggiornamento di tutti i campi che ho impostato.
***********************************

.dotm
Modelli con supporto alle macro.

.dot
Il vecchio formato Modelli
--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/

alessandr...@gmail.com

da leggere,
10 feb 2012, 08:06:1210/02/12
a
Sì, grazie per la dritta. Ma purtroppo ho dovuto ripiegare sul file .docx perché non mi accettava la macro creata dalla seguente registrazione:
- CTRL+F9
- F9
Ora non ho il codice da postare perchè sono a casa, ma in ogni caso son due righe che mi sballano la stabilità di Word 2010...

Mauro Gamberini

da leggere,
10 feb 2012, 08:31:4110/02/12
a
ha scritto nel messaggio
news:25230629.701.1328879172942.JavaMail.geo-discussion-forums@vbnm4...
*********************

Cosa deve fare la tua macro?

alessandr...@gmail.com

da leggere,
11 feb 2012, 04:21:0011/02/12
a
Ciao.
Innanzitutto, non ho specificato che la macro NON è legata al documento.
L'ho creata all'interno di ogni Word di ogni singolo utente ed è la seguente:

Sub AggiornamentoModulo()
'
' AggiornamentoModulo Macro
'
'
Selection.WholeStory
Selection.Fields.Update
End Sub

La mia macro deve aggiornare, nella seconda e terza pagina, i campi riempiti nella prima. I campi da riempire sono stati creati in due passaggi:
dalla scheda "Sviluppo":
- Controllo contenuto raccolta blocchi predefiniti;
- Controllo contenuto testo normale;
- alla casella creata, ho assegnato un segnalibro.
Successivamente, nei fogli seguenti, ho proseguito con la tabella ricopiandone il contenuto e i campi che si aggiornano automaticamente sono stati inseriti con i seguenti passaggi:
- Inserisci, Parti rapide, Campo;
- Categorie: Ref;
- scelta del segnalibro corrispondente.
Col file .docx funziona tutto. Gli altri formati bloccano addirittura il caricamento di Word. Strano.
In ogni caso, ora questa modalità funziona, sebbene abbia dovuto obbligare i miei colleghi a salvare subito il file per renderlo nuovamente condiviso. Non potrei far loro usare una copia in locale, perchè altrimenti non potrei inserire ciò per cui stiamo discutendo: il contatore.
La questione è se sia possibile inserirlo o meno... Usando un file .txt di appoggio nello stesso percorso del file, è possibile aggiungere al documento un contatore progressivo per ogni volta che si apre?
Nella speranza di esser stato più preciso, ringrazio e attendo un vs riscontro.

Niko

da leggere,
26 lug 2012, 10:28:5426/07/12
a
>
> &#39; Preventivi.dot(m)
> &#39; modAutoMacros - Module
> Option Explicit
>
> Public Const gcstrProjectName = &quot;Preventivi&quot;
> Public Const gcstrCDPProtNumero = &quot;ProtNumero&quot;
> Public Const gcstrCDPProtData = &quot;ProtData&quot;
>
> Public Sub AutoNew()
> &#39;MsgBox &quot;AutoNew&quot;, , gcstrProjectName
> With ThisDocument
> If .WordApp Is Nothing Then
> Set .WordApp = .Application
> End If
> End With
> End Sub
>
> Public Sub AutoClose()
> &#39;MsgBox &quot;AutoClose&quot;, , gcstrProjectName
> With ThisDocument
> If .OnQuit Then
> Set .WordApp = Nothing
> End If
> End With
> End Sub
>
> &#39; Preventivi.dot(m)
> &#39; ThisDocument - Document
> Option Explicit
>
> Public WithEvents WordApp As Word.Application
> Private mblnOnQuit As Boolean
>
> Public Property Get OnQuit() As Boolean
> OnQuit = mblnOnQuit
> End Property
>
> Private Sub Document_New()
> On Error GoTo ErrorHandler
>
> &#39;MsgBox &quot;Document_New&quot;, , gcstrProjectName
> &#39;Stop
>
> With Me.Application.ActiveDocument
> With .CustomDocumentProperties
> .Item(gcstrCDPProtNumero).Value = 0
> .Item(gcstrCDPProtData).Value = Date
> End With
> .Fields.Update
> End With
> Selection.EndKey Unit:=wdStory
>
> ExitProcedure:
> Exit Sub
>
> ErrorHandler:
> Debug.Print gcstrProjectName; &quot;:Document_New&quot;
> With Err
> Debug.Print &quot;ERR#&quot;; Format$(.Number); &quot; &quot;; .Description
> End With
> Resume ExitProcedure
>
> End Sub
>
> Private Sub WordApp_DocumentBeforeSave(ByVal Doc As Word.Document _
> , ByRef SaveAsUI As Boolean _
> , ByRef Cancel As Boolean)
> On Error GoTo ErrorHandler
> Const clngShowOk = -1
> Dim lngProtNum As Long
> Dim dtmProtData As Date
>
> Debug.Print gcstrProjectName; &quot;:WordApp_DocumentBeforeSave&quot;
> &#39;Stop
>
> If Len(Doc.Path) Then Exit Sub
> If Doc.AttachedTemplate.Name &lt;&gt; Me.Name Then Exit Sub
>
> dtmProtData = Date
> Cancel = True
> With Doc.AttachedTemplate.CustomDocumentProperties
> lngProtNum = .Item(gcstrCDPProtNumero).Value + 1
> End With
> With Me.Application.Dialogs(wdDialogFileSaveAs)
> .Name = Format$(dtmProtData, &quot;yyyy&quot;) _
> &amp; &quot;-&quot; &amp; Format$(lngProtNum, &quot;0000&quot;)
> If .Show = clngShowOk Then
> With Doc
> With .AttachedTemplate
> With .CustomDocumentProperties
> .Item(gcstrCDPProtNumero).Value = lngProtNum
> .Item(gcstrCDPProtData).Value = dtmProtData
> End With
> .Save
> End With
> With .CustomDocumentProperties
> .Item(gcstrCDPProtNumero).Value = lngProtNum
> .Item(gcstrCDPProtData).Value = dtmProtData
> End With
> .Fields.Update
> .Save
> End With
> End If
> End With
>
> ExitProcedure:
> Exit Sub
>
> ErrorHandler:
> Debug.Print gcstrProjectName; &quot;:WordApp_DocumentBeforeSave&quot;
> With Err
> Debug.Print &quot;ERR#&quot;; Format$(.Number); &quot; &quot;; .Description
> End With
> Resume ExitProcedure
>
> End Sub
>
> Private Sub WordApp_Quit()
> mblnOnQuit = True
> End Sub
>

Salve.. sono al mio primo post.. quindi scusate le imperfezioni...
Ho utilizzato le indicazioni sopra riportate per creare preventivi con numero progressivo utilizzando un modello di word che si compila solo al salvataggio del documento.
FANTASTICO!!!
Come posso fare la stessa cosa con un modello in excel? Non conosco il linguaggio VBA.. quindi grandi difficoltà....

Grazie
Niko


carlo...@gmail.com

da leggere,
21 set 2016, 04:41:3121/09/16
a
ciao a tutti, chiedo scusa, scusissima, ma io non ci capisco una beneamata...
utilizzo il computer perchè "va", sono utente Apple dal 90 (sempre fatto grafica) e se devo scrivere un codice che sia uno...vado in bomba...

ma...un template da poter successivamente modificare non si trova da nessuna parte?

grazie a tutti!
Carlo

paoloard

da leggere,
26 set 2016, 12:03:1926/09/16
a


ha scritto nel messaggio
news:560f5e72-05d9-487c...@googlegroups.com...
Cosa significa? Che genere di numero progressivo? Il numero di pagina? Il
numero di un elenco numerato? Il numero di pargrafo?
ciao
paoloard

danielecl...@gmail.com

da leggere,
12 dic 2017, 14:12:3512/12/17
a
CIAO RAGAZZI,
SONO ALLE PRIME ARMI CON WORD E VORREI INSERIRE UN NUMERO PROGRESSIVO AL MIO PREVENTIVO ALL'AVVIO DEL DOCUMENTO.
DEVO PER FORZA DI COSE FARLO MANUALMENTE OPPURE C'E' UN SISTEMA AUTOMATICO? SE SI, COME POSSO FARE PER POTERLO INSERIRE? RIUSCITE AD AIUTARMI?

BUONA SERATA.
DANIELE

xxp...@gmail.com

da leggere,
2 gen 2018, 12:02:4802/01/18
a
cut
>
> CIAO RAGAZZI,
> SONO ALLE PRIME ARMI CON WORD E VORREI INSERIRE UN NUMERO PROGRESSIVO AL MIO PREVENTIVO ALL'AVVIO DEL DOCUMENTO.
> DEVO PER FORZA DI COSE FARLO MANUALMENTE OPPURE C'E' UN SISTEMA AUTOMATICO? SE SI, COME POSSO FARE PER POTERLO INSERIRE? RIUSCITE AD AIUTARMI?
>
> BUONA SERATA.
> DANIELE

Vedi se può esserti di aiuto questo thread:
https://is.gd/5NaGYC

ciao paoloard
0 nuovi messaggi