在Word中分配奇偶页码

3
我正在尝试为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

你如何在这里定义 no_format 变量?还有其他变量,比如 startscontinuealign?你尝试逐步调试这段代码了吗?此外,请添加您的代码的更大部分,其中包括在 end 之前的第5行中的 if 语句的开头。 - Kazimierz Jawor
1
no_format 是一个变量,等于 1,表示页面的编号样式;continue 是 true 或 false,用于确定是否继续使用前一章节的页码;align=0 表示左对齐,而 align2 则表示右对齐;if-endif 用于设置页眉或页脚中页码的位置。 - Sanghita
谢谢,这些是重要的信息。你能再扩展一下你的代码吗? - Kazimierz Jawor
希望问题已经解决。如果它能正常工作,请提供任何反馈... - Kazimierz Jawor
1个回答

2
似乎对于奇数和偶数页,您没有设置页面数字的左右位置,但您需要设置它们的外部和内部位置。因此,请尝试更改这个小细节:
.Add (0)

将其放置在可能的“奇偶”位置之一:

.Add wdAlignPageNumberOutside
.Add wdAlignPageNumberInside

此外,最后一行试图插入“制表符”是不必要的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接