用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页脚之添加当前页数相关推荐

  1. word设置不同页脚

    我想前3页设为ⅠⅡ Ⅲ 后面的又是以1 2 3开头 请问下高手怎么设置啊? 1. 把光标放到第3页末后,在工具栏中"插入/分隔符/下一页": 2. 再把光标放在第一页,插入&quo ...

  2. C#制作Office插件时引用Microsoft.Office.Interop.Word后获取运行实例

    自动化 Office 的客户端程序既可以创建 Office 程序的新实例,也可以获取对已在运行的实例的引用. Microsoft 通常建议您创建一个新实例,而不是附加到正在运行的实例. 但是,在某些情 ...

  3. c#生成PPT总结(Microsoft.Office.Interop)

    引用自:https://bbs.csdn.net/topics/391937345 1.在项目中添加引用 Microsoft PowerPoint 14.0 Object Library 2. usi ...

  4. C# 用Microsoft.Office.Interop.PowerPoint类库操作PPT

    前言:最近由于项目需求,需要使用此类库对PPT进行操作 1.引用 Microsoft.Office.Interop.PowerPoint和 Microsoft.Office.Core 2.PPT操作 ...

  5. Microsoft.Office.Interop.Word 创建word

    转载 https://www.cnblogs.com/chenbg2001/archive/2010/03/14/1685746.html Microsoft.Office.Interop.Word ...

  6. 通过C#Microsoft.Office.Interop.Word理解互操作性

    目录 一.概念 二.应用 三.Word操作示例 四.总结 五.拓展 一.概念 C# 中的互操作性指的是C#托管代码和非托管代码之间实现互操作性的方法.(参考微软文档:互操作性概述) 参考:百度百科-- ...

  7. C# Microsoft.Office.Interop.Word比较VBA

    Microsoft.Office.Interop.Word 和 VBA 这俩货绝对是一样的 需要编辑格式如下 使用 此处下划线 .方法实现与HomeKey.EndKey类似的效果. 查了若干资料后 逻 ...

  8. Microsoft office interop word下打印机的运用

    今天使用.net做一个票据打印模块时,学习几点,分享一下. 第一点,在.net下使用基于word模板生出新的word文档 using System; using System.Collections. ...

  9. Word VSTO Error:Interop type 'Microsoft.Office.Interop.OneNote.Application' cannot be embedded...

    来到公司连做了几个基本MS Office Word的开发,看来我与Office有点渊源 哈哈 今天我在做Word VSTO项目是后发生了编译错误:"Interop type 'Microso ...

最新文章

  1. 数据结构 | 如何一文搞定链表问题?(附20本书获奖名单)
  2. php nginx日志分析,如何通过NGINX的log日志来分析网站的访问情况,试试这些命令...
  3. go 写文件_GO 文档笔记
  4. 疫情当前,企业“逆势而上”还需“上云”加速
  5. Feign自定义编程配置
  6. idea增加文件自动添加版本控制
  7. csdn博客中插入公式
  8. ZeroMQ之Request/Response (Java)
  9. 2021-04-23 Perl语言入门 导学
  10. C++ | 虚函数表内存布局
  11. 电动自行车新国标正式发布,推动电池产业转型升级
  12. 阿里云云虚拟主机开启安装SSL证书,开启HTTPS访问
  13. 【WEb数据采集之js埋码】
  14. ELK高级搜索四之Mapping映射和分词器
  15. html透明表单登录注册页面源码
  16. 超详细的文件上传和下载(Spring Boot)
  17. 在Java中如何跳出当前的多重嵌套循环?
  18. Gulp项目报错:AssertionError [ERR_ASSERTION]: Task function must be specified
  19. python爬取谷歌学术参考文献的BibTex格式——基于selenium
  20. NFT Insider #48:The Sandbox发布内测版第二季,FTX Gaming与YGGIndia达成合作

热门文章

  1. 奥格斯堡大学计算机系,奥格斯堡大学
  2. Mac系统使用终端检测局域网内开放端口的设备ip,扫描本地网络上的监控摄像头
  3. 【烈日炎炎战后端】消息队列(1.0万字)
  4. Android有线投屏实践
  5. html中网站小图标,HTML网站图标favicon
  6. 论文总结:基于可编辑区块链的工业物联网数据管理机制
  7. 112、可燃液体的火灾危险性分类
  8. xctf之warmup
  9. flutter 仿网易云音乐(3)
  10. 地缘剧本杀 (九):抉择(原创小说连载,内含语音)