Word自动空白页设置技巧出处:文档 作者:不详Word支持多种分节符,如图一,其中两种分节符会在必要时自动插入空白页.例如,如果文档中插入了一个“奇数页”分节符,而上一节又在奇数页结束,则Word会自动插入一个空白的偶数页,使得下一节又属于一个新的奇数页 但通过这两种分节符自动插入的空白页都存在同样的缺点——它插入的是一个完全空白的页,连页眉/页脚都自作主张地省略了在实际应用中,自动生成的空白页如果也有普通拥有的页眉/页脚,或者包含“(本页空白)”之类的文字,整个文档看起来就更规范一些但这些问题单纯依靠Word的分节符来自动插入空白页是无法解决的ﻫ图一 解决这个问题办法很多.第一种办法最简单,但比较繁琐,属于“笨办法”,针对只需加入页眉/页脚的空白页:人工检视文档,在必要的地方(也即空白页)插入一些不可见的文本所谓不可见的文本,就是将普通文本的颜色设置成和底色一样,一般是白色.这样,打印时空白页上不会看到这些文本,不过Word不会考虑到这一点,仍会象对待正常页那样在这个“空白”页上打印页眉/页脚.ﻫ 如果要加入“(本页空白)”之类的文字,一种比较好的办法是利用域构造标准的“节终结文本”。
首先创建一个AutoText自动图文集,使它包含要打印在空白页上的文字,并在自动图文集的开始位置插入一个分页符.为该自动图文集词条指定适当的名称,例如BLANKPAGE.接下来,在每一个节的终结处,紧靠分节符之前,加入下面的复合域(如图二):{ if { =int( {page} / 2 ) * 2 } = { page } " " { autotext ”BLANKPAGE” } }.ﻫﻫ 这组域代码判断当前的页号是奇数还是偶数,根据判断结果决定是否插入名为BLANKPAGE的自动图文集词条图二 注意域代码中的花括号(“{"和“}”)是域的标记,不能用输入普通文字的方法输入,每一对花括号必须按一次Ctrl+F9输入.ﻫ 如果你经常要执行类似的操作,那么最好的办法还是利用Word宏下面的CheckSecPages宏遍历当前文档,对于文档的每一节,计算该节包含的页数,然后判断页数的奇偶性,必要时插入分页符ﻫ Sub CheckSecPages() Dim iSec As Integerﻫ Dim oRng As Range Dim iValue As Integer With ActiveDocument ' 依次处理文档的每一节(最后一节除外)ﻫ For iSec = 1 To .Sections.Count - 1 ' 创建区域(Range)对象ﻫ Set oRng = .Sections(iSec)。
Rangeﻫ ' 将该区域折叠 ’ (折叠之后起始位置和结束位置相同)ﻫ oRng.Collapse wdCollapseStart ' 插入一个SectionPages域ﻫ ' SectionPages域表示一节中的总页数ﻫ .FIEldsAdd Range:=oRng, Type:=wdFieldSectionPagesﻫ ' 将SectionPages的值除以2.如果余数为0,则当前节的页数是ﻫ ' 偶数-—这就是我们要用“奇数页”分节符达到的效果 If (Sections(iSec).Range.Fields(1).Result Mod 2) 〈〉 0 Then ' 如果页数是奇数,则在节的分节符之前 ’ 插入一个分页符ﻫ Set oRng = 。
Sections(iSec).Rangeﻫ With oRngﻫ Collapse Direction:=wdCollapseEnd .MoveEnd unit:=wdCharacter, Count:=—1ﻫ .InsertBreak Type:=wdPageBreak End Withﻫ End Ifﻫ ’ 删除前面创建的SectionPages域 .Sections(iSec).Range.Fields(1).Deleteﻫ Next iSec End With End Sub 在Word中,按Alt+F11打开Visual Basic宏编辑器,输入CheckSecPages宏的完整代码,如图三.完成后保存,关闭宏编辑器返回Word。
以后,只要运行CheckSecPages宏就可以自动设置空白页,非常方便.Word支持多种分节符,如图一,其中两种分节符会在必要时自动插入空白页例如,如果文档中插入了一个“奇数页”分节符,而上一节又在奇数页结束,则Word会自动插入一个空白的偶数页,使得下一节又属于一个新的奇数页 但通过这两种分节符自动插入的空白页都存在同样的缺点—-它插入的是一个完全空白的页,连页眉/页脚都自作主张地省略了.在实际应用中,自动生成的空白页如果也有普通拥有的页眉/页脚,或者包含“(本页空白)”之类的文字,整个文档看起来就更规范一些但这些问题单纯依靠Word的分节符来自动插入空白页是无法解决的图一 解决这个问题办法很多第一种办法最简单,但比较繁琐,属于“笨办法”,针对只需加入页眉/页脚的空白页:人工检视文档,在必要的地方(也即空白页)插入一些不可见的文本所谓不可见的文本,就是将普通文本的颜色设置成和底色一样,一般是白色这样,打印时空白页上不会看到这些文本,不过Word不会考虑到这一点,仍会象对待正常页那样在这个“空白"页上打印页眉/页脚ﻫﻫ 如果要加入“(本页空白)”之类的文字,一种比较好的办法是利用域构造标准的“节终结文本”。
首先创建一个AutoText自动图文集,使它包含要打印在空白页上的文字,并在自动图文集的开始位置插入一个分页符为该自动图文集词条指定适当的名称,例如BLANKPAGE.接下来,在每一个节的终结处,紧靠分节符之前,加入下面的复合域(如图二):{ if { =int( {page} / 2 ) * 2 } = { page } " ” { autotext "BLANKPAGE” } }ﻫﻫ 这组域代码判断当前的页号是奇数还是偶数,根据判断结果决定是否插入名为BLANKPAGE的自动图文集词条图二 注意域代码中的花括号(“{”和“}”)是域的标记,不能用输入普通文字的方法输入,每一对花括号必须按一次Ctrl+F9输入ﻫ 如果你经常要执行类似的操作,那么最好的办法还是利用Word宏下面的CheckSecPages宏遍历当前文档,对于文档的每一节,计算该节包含的页数,然后判断页数的奇偶性,必要时插入分页符ﻫ Sub CheckSecPages()ﻫ Dim iSec As Integer Dim oRng As Rangeﻫ Dim iValue As Integer With ActiveDocumentﻫ ' 依次处理文档的每一节(最后一节除外) For iSec = 1 To 。
Sections.Count - 1ﻫ ’ 创建区域(Range)对象 Set oRng = .Sections(iSec)Rangeﻫ ’ 将该区域折叠ﻫ ’ (折叠之后起始位置和结束位置相同) oRng.Collapse wdCollapseStartﻫ ’ 插入一个SectionPages域. ' SectionPages域表示一节中的总页数 .FIElds.Add Range:=oRng, Type:=wdFieldSectionPages ' 将SectionPages的值除以2如果余数为0,则当前节的页数是ﻫ ’ 偶数——这就是我们要用“奇数页”分节符达到的效果ﻫ If (Sections(iSec)Range.Fields(1)。
Result Mod 2) <> 0 Thenﻫ ’ 如果页数是奇数,则在节的分节符之前ﻫ ' 插入一个分页符 Set oRng = .Sections(iSec).Rangeﻫ With oRng Collapse Direction:=wdCollapseEndﻫ .MoveEnd unit:=wdCharacter, Count:=-1ﻫ InsertBreak Type:=wdPageBreak End With End If ’ 删除前面创建的SectionPages域ﻫ .Sections(iSec).Range.Fields(1).Delete Next iSec End Withﻫ End Sub 在Word中,按Alt+F11打开Visual Basic宏编辑器,输入CheckSecPages宏的完整代码,如图三.完成后保存,关闭宏编辑器返回Word。
以后,只要运行CheckSecPages宏就可以自动设置空白页,非常方便Word支持多种分节符,如图一,其中两种分节符会在必要时自动插入空白页.例如,如果文档中插入了一个“奇数页"分节符,而上一节又在奇数页结束,则Word会自动插入一个空白的偶数页,使得下一节又属于一个新的奇数页 但通过这两种分节符自动插入的空白页都存在同样的缺点—-它插入的是一个完全空白的页,连页眉/页脚都自作主张地省略了.在实际应用中,自动生成的空白页如果也有普通拥有的页眉/页脚,或者包含“(本页空白)"之类的文字,整个文档看起来就更规范一些但这些问题单纯依靠Word的分节符来自动插入空白页是无法解决的.图一 解决这个问题办。