C#操作Word书签

近期做一个项目,类似于自助服务中心得那种机器,其中一个功能是自助打样一些证明。

举个栗子,离职证明,里边必须要填写姓名,百度了一番,发现用书签操作比较方便(当然学的比较浅,Word也玩的不多,不知道有没有其他方式),后边这个链接只是一个实现的代表,我就是链接,当然是为了免费,调用的微软自己的,第三方库咱就不说了,具体实现可以自己看。但是这有个问题是,你得先安装一个office,我安装的的是2016版本,他的那个方法我不能用,原因是我没有这个方法,见下图,我已经圈出来了

我这里用另一种方式实现了。

首先要按住office2016版本(其他版本我没有试),然后再你的工程里安装下图表的序号添加引用。

然后会在引用这个地方出现Microsoft.Office.Interop.Word就对了,如果没有检查一下,你是不是在上一步添加错了,然后重新添加。

然后你需要准备一个Word文档,随便写点啥都信,但是你得设个标签,举个栗子哈!

第一步选中以后要代替的字符(我这里是带下划线的空格,以后用程序改过来也会带下划线),第二步单击插入,第三步单击书签。然后会出现下面的这个框,那些书签是我以前添加的,多试几次添加书签你就知道怎么添加了。

这个时候你就可以保存这个文档了,这个文档就是模板喽。

然后就是程序里的事了。直接贴代码。

        private void buttonCopyAndEdit_Click(object sender, EventArgs e){object oMissing = System.Reflection.Missing.Value;Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();Microsoft.Office.Interop.Word.Document wordDoc = new Microsoft.Office.Interop.Word.Document();wordApp.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;wordDoc.Activate();try{wordDoc = wordApp.Documents.Open(textBoxDocEditPath.Text);foreach (Microsoft.Office.Interop.Word.Bookmark item in wordDoc.Bookmarks){if (item.Name == "姓名"){Microsoft.Office.Interop.Word.Range rang = wordDoc.Range(item.Start, item.End);rang.Text = "????";}if (item.Name == "身份证"){Microsoft.Office.Interop.Word.Range rang = wordDoc.Range(item.Start, item.End);rang.Text = "012345678901234567";}}wordApp.Visible = false;string path = Path.GetDirectoryName(textBoxDocEditPath.Text);wordDoc.SaveAs(path + "\\离职证明.doc");wordDoc.Close();wordApp.Quit();}catch (Exception e1){MessageBox.Show("请重试\n {0}", e1.Message);wordDoc.Close();wordApp.Quit();}}

这是个按钮事件。textBoxDocEditPath.Text这个就是模板的存放路径,嗯,显示的是绝对路径。最终会在模板存放的文件夹里重新保存一个名为离职证明.doc的文档。

结果如下图:

C#操作Word书签相关推荐

  1. C# 操作Word书签(二)——插入图片、表格到书签;读取、替换书签

    概要 书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间.在前一篇文章"C# 如何添加/删除Word书签"中介绍了插入.删除书签的方法,本篇文章将对C# 操作W ...

  2. C# 操作Word书签(一)插入、删除书签

    概要 书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间.对word文档中的书签操作,比较常见的是直接对某段文字插入书签,在下面的示例中,除了介绍插入书签的方法外,也将介绍操作书签 ...

  3. C# 操作Word书签(二)——读取、替换Word书签

    在上一篇文章中介绍了关于C#如何插入Word书签.插入图片或表格到word.删除word书签等内容,本篇文章将继续介绍C#操作word书签的方法.下面的示例中将介绍 C# 如何读取Word书签 C# ...

  4. Java 操作Word书签(一):添加、删除、读取书签

    Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...

  5. java书签_Java 操作Word书签(一):添加、删除、读取书签

    Word中,书签功能常用于查找.定位.标记特定字符或段落,对于篇幅较大的文档,此功能非常实用.下面,将介绍通过Java程序来添加及删除Word书签的方法.示例要点包括: 1. 添加书签 1.1 给指定 ...

  6. npoi操作word书签_100份Word文档合并只需3分钟?不用复制粘贴,简单到一学就会...

    办公中,我们时常会需要将很多份Word文档合并在一起,如果不会便捷的技巧光靠复制粘贴,那将会花费我们很多的时间和精力.所以,今天我们就是要教大家一个非常简单的方法,只用三分钟就能将上百份文档合并在一起 ...

  7. npoi操作word书签_word进阶小教程,小研全部都给你!

    临近毕业季 师兄师姐终日与word为伴 我仿佛看到了我的未来 于是决定先学一步! 小研汇总了写论文常用的快捷键操作.如果你还有别的常用快捷键推荐,欢迎评论区大家资源共享呦. 1  实用快捷键 公式自动 ...

  8. C# 操作Word书签,插入、删除书签

    概要 书签的设置可以帮助我们快速的定位某段文字,使用起来很方便,也很节省时间.对word文档中的书签操作,比较常见的是直接对某段文字插入书签,在下面的示例中,除了介绍插入书签的方法外,也将介绍操作书签 ...

  9. C# Aspose 操作Word书签

    删除书签 string SectionBookMarkStr ="Section_"; string WithXusBookMarkStr ="SectionWithXu ...

  10. 操作word文档书签

    操作word文档书签在指定位置添加信息 我们经常会遇到在word中指定的位置添加内容,在这里我们可以通过操作word书签的方式在word文档中指定的添加信息. 1.首先我们需要添加MSWORD.OLB ...

最新文章

  1. tcp udp区别优缺点_CCNA必懂篇,传输层协议TCP/UDP的区别和作用
  2. cross_val_score,cross_val_predict,cross_validate理解
  3. day10-闭包函数、函数装饰器
  4. ct读片软件_伦琴影领影像诊断中心:这六大MRI读片技巧,影像医生必须掌握
  5. #include 和#include“”的区别
  6. python 使用__slots__来限制类的实例属性的数量
  7. 软件测试缺陷发生方法,软件测试缺陷分析方法简介
  8. java 运行os文件路径_Java获取文件路径的几种方式
  9. Java基础学习总结(56)——学Java必知十大学习目标
  10. [河南省ACM省赛-第三届] AMAZING AUCTION (nyoj 251)
  11. 21天jmeter打卡day3-熟悉界面
  12. linux下分析prn文件,Linux文件的管理
  13. Scintilla的使用c++ build
  14. NKOI 3539 移棋子游戏[6月月赛题A]
  15. Vue input 限制只能输入正整数、数字、英文、两个小数
  16. python极速入门(适合有基础)
  17. 大话西游2玩家最多的服务器,大话西游2最火爆的服务器凌烟阁,玩家一次预约成功...
  18. 程序员的财务自由之路(四)- 选择大于努力
  19. 国内最前沿的科技——室内导航技术发展及其现状
  20. android 2.3 刷机,【MIUI DFY】【Android 2.3.4】 刷机教程.doc

热门文章

  1. python apkg_GitHub - TonyDongGuaPi/pc_wxapkg_decrypt_python: PC微信小程序 wxapkg 解密
  2. 面试 Redis 没底?这 40 道面试题让你不再慌
  3. python创建智能问答机器人
  4. linux mysql 权限不够_linux提示权限不够怎么办
  5. JavaScript 全栈工程师培训教程
  6. python利用有道词典翻译_Python调用有道词典翻译
  7. 042_Unicode对照表八
  8. rpm包的卸载与安装
  9. 【在esp32的3D打印机主板上配置marlin固件OLED】
  10. html上自动显示汉字拼音,今天才知道,原来html上用这个标签显示拼音