在Microsoft Word中添加页眉和页脚通常是通过Word的用户界面直接操作的,但通过编程方式实现这一功能,可以提供更多的自动化和定制可能性。这里,我们看到的是使用Visual C++和Microsoft Office的COM接口(Component Object Model)来操作Word文档,特别是通过设置页眉和页脚的内容以及页面边距。
我们需要理解`oWind`和`oView`对象。`oWind`代表当前活动的Word窗口,而`oView`则是该窗口中的查看视图。在COM接口中,`View.SetSeekView`方法用于切换到特定的视图类型,如页眉或页脚。在这里,`SetSeekView(9)`和`SetSeekView(10)`分别用来定位到页眉和页脚进行编辑。
接下来,`oSel.TypeText(" ")`原本用于输入文本,但在这个例子中留空了,可能意味着开发者计划在此处插入具体的页眉和页脚内容。通常,你可以使用这个方法添加任何你想在页眉或页脚显示的文本,比如文档标题、日期等。
对于页边距的设置,`PageSetup`对象提供了调整页面布局的方法。`oPageSetup.SetTopMargin`、`SetBottomMargin`、`SetLeftMargin`和`SetRightMargin`分别设置了上、下、左、右边距,这里的单位可能是英寸,数值是30.7和56.7,可以根据实际需求进行调整。
然后,`oSel.WholeStory()`选择整个文档,`oSel.Delete`删除选区内的所有内容,这可能是为了清除文档中原有的页眉和页脚。`ParagraphFmt.SetAlignment(1)`将段落对齐方式设置为居中。
在自动图文集中查找并插入“第X页 共Y页”是一种常见的做法,可以方便地自动更新页码。`NormalTemplate.GetAutoTextEntries()`获取默认模板中的自动图文集,然后遍历找到名称为“第 X 页 共 Y 页”的条目,使用`ATEntry.Insert`在选定位置插入该条目。这样,每次文档更新,页码会自动更新。
`oView.SetSeekView(0)`将视图切回文档正文。
总结来说,这段代码展示了如何通过VC++和Word的COM接口来实现自动化创建页眉和页脚,包括设置页眉页脚内容、页面边距以及自动图文集插入页码,从而提高文档处理效率和一致性。这种技术适用于需要批量处理或定制化Word文档的场景,例如批量生成报告或文档模板。