2016-06-23 19 views
5

Ho un documento in MS Word 2016 con oltre 200 pagine e ancora più tabelle. Ho bisogno di allineare tutte le tabelle su pagine dispari a sinistra e ho bisogno di tutte le tabelle su pagine pari allineate a destra. Tranne uno o due tavoli che posso modificare manualmente se necessario nessuna delle tabelle si estende su più pagine. Utilizzo diCome posso determinare il numero di pagina di una tabella in MS Word Macro?

Dim oTable As Table 
For Each oTable In ActiveDocument.Tables 
    oTable.Rows.Alignment = wdAlignParagraphRight 
Next oTable 

Posso allineare tutte le tabelle a destra. Quando si utilizza wdAlignParagraphLeft anziché wdAlignParagraphRight, è possibile allineare tutte le tabelle a sinistra. Ma non riuscivo a capire come ottenere il numero di pagina di un tavolo in modo da poter assegnare l'allineamento in base al numero di pagina su cui si trova una tabella.

(L'idea è che se stampato come un libro, il tavolo è sempre sul lato interno, se c'è un modo migliore per farlo ascoltarlo. Se stampato come un libro e due pagine sono accanto a ogni altra le tabelle devono essere sul lato interno simili :)

+-------------------------------+ 
| Even Page | Odd page | 
+---------------+---------------+ 
|  |Table| | |Table|  | 
|    |    | 
+-------------------------------+ 

risposta

5

Yankee, è possibile determinare il numero di pagina che una tabella particolare siede sull'utilizzo:

oTable.Range.Information(wdActiveEndPageNumber) 

Perciò, per il ciclo di tutti delle tabelle nel documento e allinearle in base alla natura dispari o pari della pagina su cui si siedono, userete:

Dim oTable As Table 
Dim PageNo As Integer 

For Each oTable In ActiveDocument.Tables 
    PageNo = oTable.Range.Information(wdActiveEndPageNumber) 
    If PageNo Mod 2 = 0 Then 'The page number is EVEN. 
     oTable.Rows.Alignment = wdAlignParagraphRight 
    Else      'The page number is ODD. 
     oTable.Rows.Alignment = wdAlignParagraphLeft 
    End If 
Next oTable 

Se avete altre domande, non esitate a chiedere.

Problemi correlati