Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Numerazione pagine di word

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 06:33

Ciao a tutti,
ho un problema : devo numerare un foglio word da 1 a 100 con numero progressivo da inserire in un una posizione precisa,è sempre lo stesso modello che cambia solo nella numerazione. fatto questo devo stamparlo e stop; se i moduli non bastano la volta successiva riparto per es da 101 a 200 etc.

Ho trovato in rete alcune possibili applicazioni VBA , la prima che dovrebbe dare le indicazioni di riga colonna e la seconda per la stampa progressiva , ma non riesco ad adattarle .Allego esempio e macro trovate.

Grazie .

http://www.filedropper.com/wordpaginazionevba
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Sponsor
 

Re: Numerazione pagine di word

Postdi wallace&gromit » 14/04/16 07:42

Ciao,
dall'esempio postato non si capisce cosa ti serve: parli di numerazione da 1 a 100 ma nell'unica casella presente figura 789.
Le macro sembrano prese da excel, perciò non funzionano.
Però se nella seconda metti un apostrofo davanti alla riga in rosso, poi funziona, nel senso che stampa le pagine che imposti con un numero crescente, a seconda del limite che inserisci per la variabile i, per es. se scrivi "for i =1 to 2", ti stampa le pagine con pié di pagina 1 e 2.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 08:03

Si, la seconda macro funziona , però mi stampa il n. di pagina in basso centrato, a me serve dove appunto ho scritto 789 . La prima macro sembrerebbe indicare la posizione, ma forse non serve.
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 08:18

Ho anche tentato con registra macro di identificare la posizione corretta nel mio foglio di lavoro, e di aggiungere la parte di macro per inserimento e stampa , ma ho sbagliato qualcosa e non funziona , comunque l'allego .

Sub num_crescente()
Dim i As Integer
For i = 1 To 2
Selection.MoveRight Unit:=wdCharacter, Count:=58
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.TypeBackspace
Selection.TypeBackspace
Application.Templates( _
"C:\Users\gianca\AppData\Roaming\Microsoft\Document Building Blocks\1040\15\Built-In Building Blocks.dotx" _
).BuildingBlockEntries("Numero normale").Insert Where:=Selection.Range, _
RichText:=True
.Text = "Pag." & i
.ParagraphFormat.Alignment = wdAlignParagraphCenter
End With
Application.PrintOut Background:=True
Next i
End Sub
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi wallace&gromit » 14/04/16 08:19

Ma la tua esigenza qual'è?
Stampare 100 pagine con la numerazione progressiva nel riquadro da 1 a 100?
Non vuoi inserire semplicemente il numero di pagina nel riquadro invece che a piede pagina?
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 09:03

"Stampare 100 pagine con la numerazione progressiva nel riquadro da 1 a 100? " yes.
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi wallace&gromit » 14/04/16 10:30

prova a vedere se questa struttura ti va bene:
nei riquadri c'è un numero corrispondente alla numerazione delle pagine.
Per ottenere un numero di partenza diverso: clic destro / formato numeri di pagina / Comincia da: *tuo valore*
ora ho messo 15.
I campi si aggiornano al momento della stampa (se hai messo la spunta corrispondente) oppure selezionando tutto e premendo il tasto F9.

Ecco il file d'esempio:
http://www.filedropper.com/wordpaginazionevariante
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 11:57

grazie, funziona, ma mi dà anche il numero di pagina "sotto" che non serve in quanto superato dal numero progressivo aggiunto in testa al documento ( quello nel riquadro).Cosa devo togliere ?
Ammetto la mia totale ignoranza, ma succede quando si usa VBA una volta ogni.. ogni... anni!
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi wallace&gromit » 14/04/16 12:09

Nota bene che non utilizza il vba, sono semplici campi di word.
La scritta a pié di pagina la puoi cancellare semplicemente.
Nel frattempo stavo rimuginando che qualcosa di ancora più snello lo potresti ottenere con una stampa unione:
In un file excel prepari la successione dei numeri che vuoi applicare.
Con l'impostazione di stampa unione fai in modo che questi vadano a finire nel tuo riquadro al momento della stampa.
Vantaggio: il tuo documento word conterrà una sola pagina.
Se ti interessa possiamo lavorarci (non è per niente complesso).
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 12:15

Mi interessa si, effettivamente ho visto che rischierei di avere un file con 100 fogli successivi l'un l'altro, quindi la tua idea di una sola pagina mi "ispira" molto. La successione numerica in excel deve essere impostata in verticale (x righe) o in orizzontale , o in altro modo ?
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi wallace&gromit » 14/04/16 12:33

i dati in excel vanno messi in una colonna verticale.
In A1 metti un'intestazione.
In A2 metti il valore iniziale.
In A3 inserisci la formula "=A2+1" e trascini verso il basso fino ad avere 100 righe.
In futuro ti basterà modificare il valore in A2 e tutto si aggiorna.
L'unico inghippo che resterà da risolvere sarà di fare in modo che word scriva i valori trovati in A2 in formato 000, per avere sempre 3 cifre (sempre che questo sia necessario - ma mi sembra esteticamente più valido).
Ci provo un attimo e ti faccio sapere.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Numerazione pagine di word

Postdi wallace&gromit » 14/04/16 12:43

non c'è problema, basta fare clic destro sul campo unione creato, visualizzare i codici di campo e aggiungere "\# 000"
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 15:19

Ok, ci sono riuscito. Unico dubbio: la procedura di stampa è per singolo foglio, e corretto ?
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 15:33

Come non detto :Lettere--> finalizza e unisci --> stampa documenti --> da ..a .. Ok.

Grazie dell'aiuto e della disponibilità .
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi Gianca532011 » 14/04/16 17:11

Giusto per dare completezza a quanto sopra allego procedura per stampa unione e aggiunta campi.



http://www.filedropper.com/stampaunione ... olodiexcel

http://www.filedropper.com/aggiuntadisingolicampi
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi Gianca532011 » 21/09/16 19:48

Aggiorno questa discussione presentando il risultato finale di una conversione da excel a word con parziale di stampa-unione poi integrata e completata con macro . lo scopo è sempre quello di numerare un modulo word, ovvero inserire una numerazione in un punto definito del modulo stesso.

Qui le macro da inserire in word :
Codice: Seleziona tutto
Sub Unione()
     Dim fd As FileDialog
     'Crea un oggetto FileDialog per scegliere la cartella in cui salvare i file
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    With fd
         'Usa il metodo Show per mostrare la finestra di dialogo e restituire l'azione dell'utente
        If .Show = -1 Then
                For Each vrtSelectedItem In .SelectedItems
 
                'vrtSelectedItem è una stringa che contiene l'indirizzo di ogni elemento selezionato.
                'E' possibile usare qualsiasi funzione di I/O sui file utilizzando questo indirizzo.
                SelectedPath = vrtSelectedItem
 
                Next vrtSelectedItem
 
        Else
                MsgBox ("Nessuna cartella è stata selezionata.")
                Exit Sub
        End If
 
    End With
     'Imposta la variabile oggetto a Nothing
    Set fd = Nothing
 
    Application.ScreenUpdating = False
 
    MainDoc = ActiveDocument.Name
    ChangeFileOpenDirectory SelectedPath
    For i = 1 To ActiveDocument.MailMerge.DataSource.RecordCount
        With ActiveDocument.MailMerge
            .Destination = wdSendToNewDocument
            .SuppressBlankLines = True
            With .DataSource
                .FirstRecord = i
                .LastRecord = i
                .ActiveRecord = i
 
                'Utilizza alcuni campi del file sorgente per impostare il nome del file pdf
                'IMPORTANTE: tali campi vanno personalizzati in base a quelli effettivamente
                'presenti nella sorgente dati
                docName = "pagina" & .DataFields("pagina").Value & ".doc"
               
            End With
            .Execute Pause:=False
             Application.ScreenUpdating = False
         End With
         ActiveDocument.SaveAs FileName:=docName, FileFormat:=wdFormatDocument _
        , LockComments:=False, Password:="", AddToRecentFiles:=True, _
        WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
         SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False

       
        'ActiveDocument.ExportAsFixedFormat OutputFileName:=docName, _
            ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
            wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
            Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
            CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
            BitmapMissingFonts:=True, UseISO19005_1:=False <<<< questo blocco, tutto, è da rendere attivo se si vuole un salvataggio in pdf
            'disattivando il blocco immediatamente sopra oltre a sostituire .pdf alla istruzione .doc della docName .
       
        ActiveWindow.Close SaveChanges:=False
 
    Next i
 
    Application.ScreenUpdating = True
 Call StampaDocFolder
 Call Verifica_Elimina_File
End Sub


questa prima macro , a partire da un file sorgente (excel) importa una serie di numeri sul file word.

la seconda macro (sotto ) provvede alla stampa e la terza ripulisce la cartella .
Codice: Seleziona tutto
Sub StampaDocFolder()
   Dim sMyDir As String
   Dim sDocName As String
   ' The path to obtain the files.
   sMyDir = "C:\Users\gianca\Desktop\Fogli ods\"
   'specificare il percorso esatto in cui si trovano  i file da  stampare
   sDocName = Dir(sMyDir & "*.DOC")
   While sDocName <> ""
      ' Print the file.
      Application.PrintOut FileName:=sMyDir & sDocName
      ' Get next file name.
      sDocName = Dir()
   Wend
End Sub


Codice: Seleziona tutto
Sub Verifica_Elimina_File()
Dim pathname As String
pathname = "C:\Users\gianca\Desktop\Fogli ods\*.doc" ' qui inserite il vostro percorso
If Dir(pathname) = "" Then
MsgBox "Cartella vuota"
Else
Kill "C:\Users\gianca\Desktop\Fogli ods\*.doc"

End If
DisplayAlerts = False
ThisDocument.Close
ThisWorkbook.Save
Application.Quit
DisplayAlerts = True

End Sub
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi Anthony47 » 22/09/16 00:51

Grazie per aver condiviso la soluzione!
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Numerazione pagine di word

Postdi Gianca532011 » 22/09/16 07:31

Grazie a te, che sei sicuramente un esempio di come un forum debba essere gestito, ovvero di "conoscenza condivisa" tanto più in un settore estremamente specialistico come è la programmazione VBA.

Integro il tutto con due info : La prima, la macro "unione" non ha un riferimento di percorso fisso nella ricerca del file sorgente , quindi se gli cambiate di posto la prossima volta che applicherete la procedura di stampa-unione dovrete andare a cercare il file.

Per seconda aggiungo la procedura breve da applicare prima di attivare la macro "unione "

Precisazione : le tre macro sono inserite in tre moduli VBa separati.

[quote][/Procedura di stampa-unione semplificata
0 Preparare il file sorgente, per es.“numerazione . xls” , nel quale inserire la colonna con la numerazione delle pagine , in rigo A1 riportare etichetta e sotto il numero di inizio es 100, nel rigo immediatamente sotto scrivere A2+1, quindi copiare fino a A200, in questo modo si ottiene la numerazione progressiva da 100 a 200 .
Esso dovrà essere associato al file Word tramite stampa-unione .

Come fare stampa unione da Excel a Word

Se non è chiaro , sono qui. ciao
Quando il foglio di calcolo di Excel è impostato e controllato, siete pronti per eseguire la stampa unione. In questo esempio, fonderemo un elenco di numeri con un foglio word da numerare e stampare .
1. Se avete già composto il vostro modulo aprire il documento di Word esistente, altrimenti createne uno nuovo.
2. Scegliete che tipo di unione desiderate eseguire. Passate alla scheda LETTERE > Inizia stampa unione, e selezionate il tipo di stampa unione :lettere elenco messaggi di posta elettronica, etichette, buste o elenco. Scegliamo Elenco

3. Sempre nella scheda LETTERE, fate clic su Seleziona destinatari > Usa elenco esistente

4. Collegate il foglio di calcolo di Excel e il documento di Word. Impostando questa connessione tra il foglio Excel e il documento di Word si garantisce che i dati della stampa unione su word verrà aggiornata automaticamente ad ogni modifica al file di Excel.
Nella finestra di dialogo “Seleziona origine dati”, individuate il foglio di Excel contenente i destinatari e fate clic su Apri. Se Word vi chiedesse di selezionare una tabella, fatelo e cliccate su OK.
5 Clicca su Inserisci campo-unione nella posizione voluta sul foglio word tramite il cursore di movimento (mouse), selezionare campi database quindi inserisci.
Per finire : chiudi .
quote]
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18

Re: Numerazione pagine di word

Postdi Gianca532011 » 22/09/16 09:03

Se non è chiaro , sono qui. ciao


questo ovviamente va in calce al testo della procedura :) :D
Giancarlo
win 7 pro- Office 2013 Ita
Gianca532011
Utente Senior
 
Post: 130
Iscritto il: 27/05/11 10:18


Torna a Applicazioni Office Windows


Topic correlati a "Numerazione pagine di word":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti