Bruce vorrebbe che tutti i paragrafi del titolo 1 iniziassero nella parte superiore della pagina successiva se altrimenti cadessero nell’1 / 3 inferiore della pagina precedente. Si chiede se c’è un modo per farlo, magari con una macro.

Word ha una funzionalità incorporata per regolare la paginazione in base alle caratteristiche di un paragrafo. (Un’intestazione è un tipo di paragrafo, quindi questo vale per i titoli con la stessa facilità con cui lo fa per qualsiasi altro tipo di paragrafo.) Nella scheda Interruzioni di riga e di pagina della finestra di dialogo Paragrafo puoi vedere queste tre impostazioni:

Interruzione di pagina prima. * Questa impostazione, se selezionata, forza l’inizio del paragrafo sempre all’inizio della pagina successiva.

Controllo vedova / orfano. * Questa impostazione, se selezionata, assicura che se un paragrafo richiede più righe, una singola riga del paragrafo non verrà lasciata sola nella parte inferiore o superiore di una pagina. Anche se la maggior parte dei titoli sono righe singole, questa è un’impostazione utile per i titoli nel caso in cui richiedano più righe.

Mantieni con Avanti. * Questa impostazione, se selezionata, garantisce che il paragrafo rimanga con il paragrafo che lo segue. Questo è ottimo per un’intestazione, in quanto garantisce che un’intestazione debba contenere almeno due righe del paragrafo che la segue. (Questo presume che tu abbia il seguente paragrafo formattato per Widow / Orphan Control.)

Sebbene questi controlli siano fantastici, non soddisferanno le esigenze di Bruce perché nessuno di loro forzerà un’intestazione alla pagina successiva se normalmente appare nel terzo inferiore di una pagina. Ciò significa che Bruce deve trovare una soluzione alternativa che realizzi ciò che desidera.

Un approccio consiste nel definire due stili di Titolo 1. Uno degli stili potrebbe essere considerato “normale”, nel senso che apparirà nel flusso normale del testo del documento. L’altro stile potrebbe essere basato sul normale Titolo 1, ma potrebbe avere l’impostazione Interruzione di pagina prima (discussa in precedenza) abilitata. Questi due stili sarebbero molto facili da usare; tutto quello che devi fare è assicurarti che tutti i normali stili di Titolo 1 siano usati in tutto il documento. Quindi, prima di stampare, puoi scorrere manualmente il documento, una pagina alla volta, e applicare lo stile Titolo 1 secondario a quei titoli che sono troppo in fondo alla pagina per i tuoi gusti. Verrebbero automaticamente spostati all’inizio della pagina successiva, Word ripaginerebbe il documento e potresti continuare a cercare i titoli che dovevano essere spostati.

L’approccio inverso sarebbe quello di posizionare effettivamente le interruzioni di pagina manuali prima di tutti i paragrafi del titolo 1. Se poi selezioni l’interruzione di pagina e il paragrafo Titolo 1, potresti definirlo come un blocco di costruzione che potresti utilizzare in seguito per tutti i tuoi titoli. (È sufficiente inserire il blocco predefinito e quindi modificare il testo nel paragrafo dell’intestazione effettiva.) Prima di stampare, scorrere manualmente il documento e, se si vede che un’intestazione potrebbe essere spostata alla pagina precedente, eliminare l’interruzione di pagina che si trova davanti al paragrafo del titolo. Word sposta l’intestazione alla pagina precedente, ripagina il documento e puoi continuare a cercare le intestazioni che potrebbero essere spostate.

Se il terzo inferiore di una pagina non è più profondo di 10 righe di testo, potresti usare un approccio piuttosto nuovo ai tuoi titoli: formattali con un capolettera. Un capolettera può essere profondo fino a 10 righe; tutto quello che devi fare è assicurarti che il personaggio “caduto” sia qualcosa di molto, molto sottile. Ad esempio, potresti provare a utilizzare una lettera maiuscola I. Formatta il singolo carattere come una dimensione in punti molto piccola e rendi il suo colore bianco. Quindi seleziona il carattere e rendilo un capolettera di 10 righe. Se l’intero capolettera non può entrare nella pagina, Word lo sposta obbligatoriamente alla pagina successiva. Potrebbe essere necessario giocare con alcune delle caratteristiche di formattazione per ottenere esattamente ciò che si desidera, ma è l’unica potenziale soluzione alternativa che non comporta alcuna elaborazione manuale da parte tua.

Se si desidera utilizzare una macro per eseguire la formattazione, l’approccio più pratico consiste nel far sì che la macro regoli le posizioni di qualsiasi paragrafo del titolo 1 dopo che il documento è stato completato. L’idea è che la macro esegua la ricerca dall’inizio del documento, cercando i paragrafi dell’intestazione 1. Se ne viene trovata una ed è posizionata a più del 66% dell’altezza della pagina, viene inserita un’interruzione di pagina per spostare l’intestazione alla pagina successiva. La seguente macro esegue tutte queste attività.

Sub AdjustHeading()

Dim CursorVert As Single     Dim Pgheight As Single     Dim styleName As String

styleName = "Heading 1"

If ActiveDocument.Styles(styleName).ParagraphFormat.PageBreakBefore Then         MsgBox styleName & " has 'Page break before' set. Run aborted"

Exit Sub     End If     Selection.HomeKey unit:=wdStory     With Selection.Find         .ClearFormatting         .Style = ActiveDocument.Styles(styleName)

.Text = ""

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindStop     End With     Do While Selection.Find.Execute         If Asc(Selection.Range.Characters(1)) = 12 Then             Selection.MoveStart unit:=wdCharacter, Count:=1         End If         With ActiveDocument.Sections(Selection.Information(wdActiveEndSectionNumber)).PageSetup             CursorVert = Selection.Information(wdVerticalPositionRelativeToPage) - .TopMargin             Pgheight = .PageHeight - .TopMargin - .BottomMargin         End With         If CursorVert > Selection.Style.ParagraphFormat.SpaceBefore Then             If CursorVert / Pgheight > 0.66 And Len(Selection.Range) > 1 Then                 Selection.End = Selection.Start                 Selection.TypeText Chr(12)

End If         End If         Selection.Start = Selection.End     Loop End Sub

Affinché questa macro funzioni correttamente, dovresti assicurarti che lo stile Titolo 1 non abbia l’attributo Interruzione di pagina prima impostato.

La macro determina l’altezza della pagina della sezione corrente per accogliere i documenti che variano l’altezza della pagina da una sezione all’altra.

L’altezza della pagina viene calcolata sottraendo i margini superiore e inferiore dall’altezza della carta.

_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 (12564) si applica a Microsoft Word 2007, 2010, 2013, 2016, 2019 e Word in Office 365.