这让我很头疼。我有一个非常大的 Word 宏。在某个时候,我必须更改页面的标题和格式。
因此我在这一点插入一个休息
Selection.InsertBreak Type:=wdSectionBreakContinuous
更改为横向/横向格式(因为图像也有这种格式)
WordBasic.TogglePortrait Tab:=3, PaperSize:=0, TopMargin:="2.5", _
BottomMargin:="2.5", LeftMargin:="2", RightMargin:="2.5", Gutter:="0", _
PageWidth:="29.7", PageHeight:="21", Orientation:=1, FirstPage:=0, _
OtherPages:=0, VertAlign:=0, ApplyPropsTo:=0, FacingPages:=0, _
HeaderDistance:="1.25", FooterDistance:="1.25", SectionStart:=0, _
OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=0, LineNum:=0, _
StartingNum:=1, FromText:=wdAutoPosition, CountBy:=0, NumMode:=0, _
TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, CharsLine:=41, LinesPage:= _
39, CharPitch:=220, LinePitch:=360, DocFontName:="+Textkörper", _
DocFontSize:=11, PageColumns:=1, TextFlow:=0, FirstPageOnLeft:=0, _
SectionType:=1, FolioPrint:=0, ReverseFolio:=0, FolioPages:=1
输入标题
ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
不应更改之前的页面,因此将标题格式与前一个页面取消链接
Selection.HeaderFooter.LinkToPrevious = False
跳出页眉到最后一页=新节的第一页这个需要做,否则由于上面的命令,我在上一节的页眉中。(不知道为什么会跳转到最后一个标题)并跳转到正确的标题
ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
Selection.EndKey unit:=wdStory
ActiveDocument.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
选择整个标题并将其删除
Selection.WholeStory
Selection.Delete
如果我在更改为水平格式后设置断点,则一切正常,这意味着我第一次跳转到标题或上面列出的较早点。但这是最后一种可能。
没有断点而不是只删除最后一页的标题,还会删除上一节的标题。
我不知道为什么会发生这种情况或如何防止它。