Word ti consente di aggiungere numeri di riga a un documento. Ciò significa esattamente ciò che dice: ogni riga del documento è numerata dall’inizio alla fine. Questo può essere molto utile quando si creano documenti speciali, come documenti legali, o quando si stampa una copia cartacea per riferimento successivo riga per riga.

Quando si stampa un documento con i numeri di riga continua attivati, Word numera ogni riga dall’inizio alla fine. Tuttavia, se si stampa solo una selezione (si effettua una selezione, si visualizza la finestra di dialogo Stampa e si assicura che Selezione sia specificata come cosa si sta stampando), Word non stampa correttamente i numeri di riga. Word numera le righe nella selezione come se fosse l’intero documento, iniziando da una e procedendo attraverso la selezione. Si potrebbe pensare che un approccio migliore sarebbe che Word stampasse i numeri di riga in base a ciò che la selezione rappresenta realmente nel documento. Ad esempio, se hai selezionato le righe da 57 a 72 come selezione e poi lo hai stampato, Word dovrebbe stampare i numeri da 57 a 72 sul lato sinistro della stampa, invece che da 1 a 15.

Sfortunatamente, non esiste un modo semplice per aggirare questo problema. Una soluzione è non stampare le selezioni. (Questo suggerimento può sembrare più impertinente di ciò che si intende.) Invece, stampa le pagine. Nella finestra di dialogo di stampa, specificare un intervallo di pagine da stampare, anziché una selezione. Word mantiene la numerazione delle righe corretta, come se si numerasse dall’inizio del documento.

Un’altra opzione è affidarsi a una macro per fare il “lavoro sporco” per te. È possibile utilizzare una macro per reimpostare il numero di riga iniziale utilizzato per la selezione. Quello che segue è una semplice macro che richiede un numero di riga iniziale e quindi stampa la selezione utilizzando quel numero di riga come primo numero stampato a sinistra. (Nota che questa macro non inizia a stampare con il numero di riga che specifichi — usa il numero che specifichi come numero di riga iniziale della tua selezione.)

Sub LineNumbersPrint()

Dim LineNumberStart As Integer     On Error GoTo GetOut

LineNumberStart = InputBox("First line number for printout?", _       "Line Numbers Printout")



With ActiveDocument.PageSetup         With .LineNumbering             .Active = True             .StartingNumber = LineNumberStart         End With     End With

ActiveDocument.PrintOut , Range:=wdPrintSelection

With ActiveDocument.PageSetup         With .LineNumbering             .Active = True             .StartingNumber = 1         End With     End With

GetOut:

End Sub

L’uso di questa macro presuppone che si cerchi il numero di riga iniziale della selezione prima di stampare effettivamente. Questo può essere fatto usando la funzione Anteprima di stampa di Word, ma può diventare stancante dopo un po ‘. Se fai un po ‘di stampa di selezione, la seguente macro sarà di maggiore interesse per te. È più complesso, ma determina automaticamente il numero di riga corretto da utilizzare all’inizio della selezione, quindi stampa la selezione.

Sub Correct_Line_Numbers()

Dim myRng As Range     Dim StartRng As Range     Dim iCount As Integer

'if you include the paragraph mark in your selection, then Word 'prints the subsequent line number; not the entire line, just the 'line number; therefore, if the last character of the current 'selection is a paragraph mark, then move the end position of 'the selection to the left by one character     If Selection.Characters.Last = Chr(13) Then         Selection.MoveEnd Count:=-1     End If

'set the current selection to a variable     Set myRng = Selection.Range

'set the start of the document to a variable     Set StartRng = ActiveDocument.Paragraphs(1).Range

With Selection         'go to the beginning of the line for the current selection and         'set the iCount variable so that it counts the current line         .HomeKey unit:=wdLine         iCount = 1

'if the cursor is not at the beginning of the document         'then move the cursor up by one line         'increment iCount by one each time the cursor is not at         'the beginning of the document         While Not Selection.InRange(StartRng)

.MoveUp unit:=wdLine             iCount = iCount + 1             'if the cursor is in a table, then the macro should             'reduce iCount; Word counts an entire table as one line             If Selection.Rows.Count > 0 Then                 iCount = iCount - 1             End If         Wend     End With

'reset the starting line number so that it equals the     'number of times the cursor was moved up by a line     ActiveDocument.PageSetup.LineNumbering.StartingNumber = iCount

'reselect the original selection     myRng.Select

'print out only the original selection     ActiveDocument.PrintOut Range:=wdPrintSelection

'reset the line number(by "undoing" the last two actions     '[fields update and change line number])

'so that line numbering begins at one     ActiveDocument.Undo     ActiveDocument.Undo

'reselect the original selection     myRng.Select End Sub

C’è un avvertimento con questa macro. Se hai nascosto del testo all’interno del tuo documento e quel testo nascosto viene visualizzato ma non è impostato per la stampa, questa macro conta comunque quelle righe di testo come se dovessero essere stampate. In altre parole, la macro presume che stiate stampando il testo nascosto se lo avete visualizzato sullo schermo.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.

WordTips è la tua fonte di formazione economica su Microsoft Word.

(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (8520) si applica a Microsoft Word 2007, 2010 e 2013.

Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: