这让我很头疼。 我有一个非常庞大的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
如果我在更改为水平格式后设置断点,则一切正常工作意味着我第一次跳入标题或上面列出的早期点。但这是最后一次。
如果没有断点而不是仅删除最后一页的标题,也会删除上一节的标题。
我不知道为什么会发生这种情况或如何预防。
答案 0 :(得分:0)
好的,我想出了怎么做。 我已经认为它与运行时有关,并且某些事件无法及时执行。
所以我用doevents写了一个循环
For u = 1 To 1000000
DoEvents
Next u
我知道这太多了,但确实有效;)
编辑: 实际上2次就足够了,不需要1000000我只想在开始时确定:D