2016-06-23 15 views
5

MS Word 2016'da 200+ sayfa ve daha fazla tablo içeren bir belgem var. Tek sayfalardaki tüm tabloları sola hizalamanız gerekiyor ve sağa hizalanmış sayfalarda bile tüm tablolara ihtiyacım var. Gerekirse manuel olarak değiştirebileceğim bir veya iki tablo dışında, hiçbir tablo birden fazla sayfa içermez.MS Word Makro'da bir tablonun sayfa numarasını nasıl belirleyebilirim?

Tüm tabloları sağa hizalayabilirim. wdAlignParagraphRight yerine wdAlignParagraphLeft kullanırken, tüm tabloları sola hizalayabilirim. Ancak bir tablonun sayfa numarasını nasıl alacağımızı anlayamadım, böylece bir tablo açık olan sayfa numarasına göre hizalamayı atayabiliyorum.

(Fikir, kitap olarak basılırsa, masa her zaman iç taraftadır. Bunu başarmanın daha iyi bir yolu varsa, dinleyeceğim. Kitap olarak basılırsa ve iki sayfa

oTable.Range.Information(wdActiveEndPageNumber) 

halde, döngü tüm aracılığıyla: Bu

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

cevap

5

Yankee :) gibi birbirlerine tablolar iç tarafında olmalıdır, belirli bir tablo kullanılarak oturur sayfa numarasını belirleyebilir Belgenizdeki tabloların ve bunları sayfanın tek veya çift doğasına göre hizalayın onlar oturduklarında, aşağıdakileri kullanırsınız:

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 

Başka sorunuz varsa, sormaktan çekinmeyin.

İlgili konular