C# Microsoft.Office.Interop.Word设置Word页脚之添加当前页数
用C#操作Word,电脑上原生的库为Microsoft.Office.Interop.Word,虽然有些慢,但也能用。操作word的另外一个库是Spire.Doc,但是商业的,破解版也不好搞,还是凑合用Microsoft.Office.Interop.Word吧。
现在需要根据Word模板生成受控报告,主要借助word标签实现该功能。但现在有一个需求,就是需要添加如下格式的页脚:
第 页 共 页
PAGE_OF_
涉及到获取当前页面的页码。查了好多帖子,最后等外网找到了解决方案,那就直接放代码:
//设置页脚/* 第 页 共 页* PAGE_OF_*/ void setFooter(ref Word.Application app){object missing = System.Reflection.Missing.Value;app.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageFooter;app.ActiveWindow.ActivePane.Selection.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;app.ActiveWindow.Selection.TypeText("第");Object CurrentPage = Word.WdFieldType.wdFieldPage;app.ActiveWindow.Selection.Fields.Add(app.ActiveWindow.Selection.Range, ref CurrentPage, ref missing, ref missing);app.ActiveWindow.Selection.TypeText("页 共"); Object TotalPages = Word.WdFieldType.wdFieldNumPages;app.ActiveWindow.Selection.Fields.Add(app.ActiveWindow.Selection.Range, ref TotalPages, ref missing, ref missing);app.ActiveWindow.Selection.TypeText("页\n");/* Insert current page number "Page X of N" on a word document *//*======================================================================*/// Open up the footer in the word documentapp.ActiveWindow.ActivePane.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekCurrentPageFooter;// Set current Paragraph Alignment to Centerapp.ActiveWindow.ActivePane.Selection.Paragraphs.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;// Type in 'Page 'app.ActiveWindow.Selection.TypeText("PAGE");// Add in current page fieldCurrentPage = Word.WdFieldType.wdFieldPage;app.ActiveWindow.Selection.Fields.Add(app.ActiveWindow.Selection.Range, ref CurrentPage, ref missing, ref missing);// Type in ' of 'app.ActiveWindow.Selection.TypeText("OF");// Add in total page fieldTotalPages = Word.WdFieldType.wdFieldNumPages;app.ActiveWindow.Selection.Fields.Add(app.ActiveWindow.Selection.Range, ref TotalPages, ref missing, ref missing);/*======================================================================*/}
自此声明:上面代码用到的库为Microsoft.Office.Interop.Word。
C# Microsoft.Office.Interop.Word设置Word页脚之添加当前页数相关推荐
- word设置不同页脚
我想前3页设为ⅠⅡ Ⅲ 后面的又是以1 2 3开头 请问下高手怎么设置啊? 1. 把光标放到第3页末后,在工具栏中"插入/分隔符/下一页": 2. 再把光标放在第一页,插入&quo ...
- C#制作Office插件时引用Microsoft.Office.Interop.Word后获取运行实例
自动化 Office 的客户端程序既可以创建 Office 程序的新实例,也可以获取对已在运行的实例的引用. Microsoft 通常建议您创建一个新实例,而不是附加到正在运行的实例. 但是,在某些情 ...
- c#生成PPT总结(Microsoft.Office.Interop)
引用自:https://bbs.csdn.net/topics/391937345 1.在项目中添加引用 Microsoft PowerPoint 14.0 Object Library 2. usi ...
- C# 用Microsoft.Office.Interop.PowerPoint类库操作PPT
前言:最近由于项目需求,需要使用此类库对PPT进行操作 1.引用 Microsoft.Office.Interop.PowerPoint和 Microsoft.Office.Core 2.PPT操作 ...
- Microsoft.Office.Interop.Word 创建word
转载 https://www.cnblogs.com/chenbg2001/archive/2010/03/14/1685746.html Microsoft.Office.Interop.Word ...
- 通过C#Microsoft.Office.Interop.Word理解互操作性
目录 一.概念 二.应用 三.Word操作示例 四.总结 五.拓展 一.概念 C# 中的互操作性指的是C#托管代码和非托管代码之间实现互操作性的方法.(参考微软文档:互操作性概述) 参考:百度百科-- ...
- C# Microsoft.Office.Interop.Word比较VBA
Microsoft.Office.Interop.Word 和 VBA 这俩货绝对是一样的 需要编辑格式如下 使用 此处下划线 .方法实现与HomeKey.EndKey类似的效果. 查了若干资料后 逻 ...
- Microsoft office interop word下打印机的运用
今天使用.net做一个票据打印模块时,学习几点,分享一下. 第一点,在.net下使用基于word模板生出新的word文档 using System; using System.Collections. ...
- Word VSTO Error:Interop type 'Microsoft.Office.Interop.OneNote.Application' cannot be embedded...
来到公司连做了几个基本MS Office Word的开发,看来我与Office有点渊源 哈哈 今天我在做Word VSTO项目是后发生了编译错误:"Interop type 'Microso ...
最新文章
- 数据结构 | 如何一文搞定链表问题?(附20本书获奖名单)
- php nginx日志分析,如何通过NGINX的log日志来分析网站的访问情况,试试这些命令...
- go 写文件_GO 文档笔记
- 疫情当前,企业“逆势而上”还需“上云”加速
- Feign自定义编程配置
- idea增加文件自动添加版本控制
- csdn博客中插入公式
- ZeroMQ之Request/Response (Java)
- 2021-04-23 Perl语言入门 导学
- C++ | 虚函数表内存布局
- 电动自行车新国标正式发布,推动电池产业转型升级
- 阿里云云虚拟主机开启安装SSL证书,开启HTTPS访问
- 【WEb数据采集之js埋码】
- ELK高级搜索四之Mapping映射和分词器
- html透明表单登录注册页面源码
- 超详细的文件上传和下载(Spring Boot)
- 在Java中如何跳出当前的多重嵌套循环?
- Gulp项目报错:AssertionError [ERR_ASSERTION]: Task function must be specified
- python爬取谷歌学术参考文献的BibTex格式——基于selenium
- NFT Insider #48:The Sandbox发布内测版第二季,FTX Gaming与YGGIndia达成合作