Назначить четные нечетные номера страниц в word

Я пытаюсь написать макрос vba для слова, где документ будет иметь номера страниц, но выравнивание нечетного номера страницы будет отличаться от четного. Код, который я сейчас пытаюсь изменить, меняет выравнивание как нечетных, так и четных страниц, что нежелательно.

    ActiveDocument.Sections(i).PageSetup.OddAndEvenPagesHeaderFooter = False
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Selection.HeaderFooter.LinkToPrevious = Not Selection.HeaderFooter.LinkToPrevious
    ActiveDocument.Sections(i).Footers(wdHeaderFooterPrimary).LinkToPrevious = False
    With ActiveDocument.Sections(i).Footers(1).PageNumbers
        .NumberStyle = wdPageNumberStyleArabic
        .HeadingLevelForChapter = 0
        .IncludeChapterNumber = False
        .ChapterPageSeparator = wdSeparatorHyphen
        .RestartNumberingAtSection = False
        .StartingNumber = starts
        .Add (0)
    End With
End If
ActiveDocument.Sections(i).PageSetup.OddAndEvenPagesHeaderFooter = True
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
ActiveDocument.Sections(i).Footers(wdHeaderFooterEvenPages).LinkToPrevious = False
WordBasic.InsertAlignmentTab Alignment:=2, Relative:=0, Leader:=0

person Sanghita    schedule 18.04.2013    source источник
comment
как вы определяете переменную no_format здесь ?? и другие переменные, такие как starts, continue, align?? Вы пытались отлаживать этот код шаг за шагом?? Кроме того, добавьте большую часть вашего кода, которая будет включать открытие для оператора end if, который находится в 5-й строке перед концом...   -  person Kazimierz Jawor    schedule 18.04.2013
comment
no_format — это переменная = 1, обозначающая стиль номера страницы, значение «continue» равно true и false, если оно продолжает отмечать страницы с предыдущим разделом, а align = 0 — для выравнивания по левому краю, а align2 — для выравнивания по правому краю, if-endif используется для позиционирования номера страницы в верхнем или нижнем колонтитуле   -  person Sanghita    schedule 18.04.2013
comment
спасибо, это важная информация. не могли бы вы немного расширить свой код ??   -  person Kazimierz Jawor    schedule 18.04.2013
comment
надеюсь, это исправлено. любой отзыв, если он работает, приветствуется...   -  person Kazimierz Jawor    schedule 18.04.2013


Ответы (1)


Кажется, что для нечетных и четных страниц вы не устанавливаете left и right позиции номеров страниц, а вам нужно установить их outside и inside позиции.

Итак, попробуйте изменить эту крошечную строку:

.Add (0)

в одну из возможных «четно-нечетных» позиций:

.Add wdAlignPageNumberOutside
.Add wdAlignPageNumberInside

Более того, последняя строка, которая пытается вставить «вкладку», тогда не нужна.

person Kazimierz Jawor    schedule 18.04.2013