Excel e gli applicativi Microsoft Office Numerazione progressiva di un documento word

Login Registrati
Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
  • Autore
    Articoli
  • #8950 Score: 0 | Risposta

    giatz
    Partecipante

      Salve a tutti, avrei bisogno di un consiglio su come implementare una numerazione automatica progressiva su un documemento word. Uso un modello per un buono acquisto di medicinali elaborato con word e avrei la neccessità che a ogni apertura del documento la numerazione si incrementasse di una unità. Allego un file del modello.  Un grazie anticipato a chi volesse darmi una mano

      Allegati:
      You must be logged in to view attached files.
      #8991 Score: 0 | Risposta

      vecchio frac
      Senior Moderator
        245 pts

        Il file è un modello ma non nel senso di "modello di Word", quindi ogni volta devi ricordarti di salvare con un nome diverso.

        Per raggiungere l'obiettivo ti consiglierei di trasformare il file in un documento con macro (.docm) e di inserire nell'evento New di ThisDocument un paio di righe di codice che leggano i campi numero (e anche anno, probabilmente) e lo aggiornino aumentandolo di un'unità, leggendo l'ultimo valore inserito da un piccolo file di database memorizzato nello stesso percorso del file "modello". Questo ovviamente se ci lavori solo tu e se non hai quindi problemi di condivisione di file (mi chiedo però perchè il file sia protetto, in questo caso).

        #8995 Score: 0 | Risposta

        giatz
        Partecipante

          Guardando qua e la in rete ho trovato questa Sub che potrebbe fare al caso mio. Ho provato ad eseguirla ma mi mette la numerazione nella prima riga (... è scritta proprio per fare ciò), mentre invece io vorrei posizionare il numeratore in una posizione diversa ma mon ci riesco. (Da tutto questa avrai capito che di vba ne capisco poco e nulla)

          La sub è questa:

          Sub AutoOpen()
          'Visualizzo testo nascosto e posiziono il corsore per selezionare il testo
          'della prima riga, numero ultim ordine fatto
          ActiveWindow.View.ShowHiddenText = True
          Selection.TypeText Text:="Inserimento"
          Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend

          'Aggiorno il numero dell'ordine
          Num = Val(Selection.Text): Num = Num + 1: Selection.Text = Num
          'Salvo il modello di documento con il numero aggiornato
          ActiveDocument.Save
          'dopo il segnalibro <inserimento> scrivo il numero del nuovo ordine
          ActiveDocument.Bookmarks("Inserimento").Range.InsertAfter Num
          'rendo non visibile il testo nascosto
          ActiveWindow.View.ShowHiddenText = False
          End Sub

          Mi sembra di capire che questa sub presupponga l'inserimento di un segnalibro nascosto che si chiama appunto "segnalibro"

          Secondo te si può  modificare inserendo il segnalibro al posto giusto nel mio documento?

          Grazie e mi scuso in anticipo se ho un po di confusione....

          #8999 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            245 pts

            E se, invece di complicarsi la vita, facessi il tuo bel modellino in Excel?

            Per rispondere alla tua domanda, il segnalibro "Inserimento" (perchè è così che viene chiamato nel codice) è sicuramente già preimpostato nel documento, quindi lo puoi mettere a piacimento dove vuoi nel tuo documento (chiamandolo così). E di passaggio ti informo anche che la sub AutoOpen, mantenuta per compatibilità col passato, da diversi anni è sostituita dall'evento Open di ThisDocument (funziona ancora, comunque).

            Sulla confusione nessun problema, siamo qui per dipanarla 🙂

            #9007 Score: 0 | Risposta

            vecchio frac
            Senior Moderator
              245 pts

              Un'alternativa ai segnalibri, per certi versi più facile da gestire, se proprio vuoi continuare su questa strada, è inserire nel modello di documento una scritta che poi sostituirai a piacere.

              Esempio: Fattura numero @NUMFATT di data @DATAFATT

              Poi sostituisci con Replace @NUMFATT con il testo desiderato.

              #9009 Score: 0 | Risposta

              giatz
              Partecipante

                Grazie per la tua disponibilità! Mi metterò al lavoro cercando di seguire i tuoi preziosi consigli

              Login Registrati
              Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
              Rispondi a: Numerazione progressiva di un documento word
              Gli allegati sono permessi solo ad utenti REGISTRATI
              Le tue informazioni: