添加书签的基本原理是光标定位到要添加书签的位置,获取选择的域,将获取到的域添加到书签集合中。接下来是Js代码示例:
  首先获取文档的ActiveDcoument对象,我这里获取ActiveDcoument对象使用的是封装的NTKO对象方法docEditor._getDocument()。

  先定位光标位置,我这里是根据上一个书签来动态定位下个书签的位置:

// 获取指定名称的书签对象
var markRange = docEditor._getDocument().BookMarks(bookMark);
// 设置文档的选择域
markRange.Select();//将光标位置换行
var oldEnd = docEditor._getDocument().Application.Selection.End;
docEditor._getDocument().Application.Selection.Start = oldEnd;
docEditor._getDocument().Application.Selection.End = oldEnd;
docEditor._getDocument().Application.Selection.Text = "\r\n";   // 跳到选择域的尾部,在尾部重新获取选择域
//此时获取到的域是新行首位
var oldEnd = docEditor._getDocument().Application.Selection.End;
docEditor._getDocument().Application.Selection.Start = oldEnd;
docEditor._getDocument().Application.Selection.End = oldEnd;
// 获取新的选择域对象,并在域中插入内容
var range = docEditor._getDocument().Application.Selection.Range;
range.Text = addText;
// 将新的选择域添加到书签集合中
docEditor._getDocument().Bookmarks.Add(bookmarkName, range);

  下面是VBA宏代码示例,可以在word的宏编辑器中直接执行:

Sub test1()’ 定位到当前选择域的尾部Selection.EndKey’ 生成一个新的选择域并在域中添加回车换行及空格iStart = ActiveDocument.ActiveWindow.Selection.EndActiveDocument.ActiveWindow.Selection.Start = iStartActiveDocument.ActiveWindow.Selection.End = iStartActiveDocument.ActiveWindow.Selection.Text = Chr(13) & Chr(10) & "                            "’ 在上一个域的后面再次获取新的域iStart = ActiveDocument.ActiveWindow.Selection.EndActiveDocument.ActiveWindow.Selection.Start = iStartActiveDocument.ActiveWindow.Selection.End = iStart’ 在新的域中添加四个空格做占位符ActiveDocument.ActiveWindow.Selection.Text = " "’ 将当前的域添加到书签集合中ActiveDocument.Bookmarks.Add Name:="hgyj11", Range:=ActiveDocument.ActiveWindow.Selection.RangeEnd Sub

js 动态添加Word书签相关推荐

  1. js 动态 添加 tabel 表格

    js 动态 添加 tabel 表格 代码 <!DOCTYPE html> <html><head><title> new document </t ...

  2. 【原生js】js动态添加dom,如何绑定事件

    首先要明白浏览器在加载页面的时候是按顺序来加载的,这样以来就很清楚了,js动态添加dom以后,这些dom并没有绑定事件,这个时候最简单的一个办法就是:将绑定事件的方法封装到一个函数A中,在动态添加完d ...

  3. 原生js动态为table追加html,JS动态添加Table的TR,TD实现方法

    本文实例讲述了JS动态添加Table的TR,TD实现方法.分享给大家供大家参考.具体实现方法如下: var tempRow=0; var maxRows=0; function insertRows( ...

  4. form表单 无法提交js动态添加的表单元素问题。。

    第一种情况, 这种情况js动态添加的表单元素是不能提交到服务器端的 <table> <form method="post" action=" url   ...

  5. MUI 里js动态添加数字输入框后,增加、减少按钮无效

    https://www.cnblogs.com/ssjf/p/10193652.html numbox 的自动初化是在 mui.ready 时完成的 mui 页面默认会自动初始化页面中的所有数字输入框 ...

  6. js动态添加options(转载)

    JS动态添加Option的几种方式 在处理表单的时候,经常会有这样的需求:给定一定的数据来生成某个select的option,或者更进一步,某些option或许预先选中或者有高亮显示. 下面我们就来温 ...

  7. layui upload.render上传组件js动态添加html后再次渲染

    页面效果 页面代码: <!-- 轮播图 --><input type="hidden" name="mcBaunell" id="m ...

  8. html中列表前面的序号带圆圈,js动态添加带圆圈序号列表方法

    js动态添加带圆圈序号列表方法 发布时间:2021-02-19 11:30:34 来源:亿速云 阅读:69 作者:小新 这篇文章给大家分享的是有关js动态添加带圆圈序号列表方法的内容.小编觉得挺实用的 ...

  9. js动态添加样式和jQuery动态添加样式

    0.style方式添加样式 DOM对象.style.color = 'red'DOM对象.style.display = 'block/none' //让元素显示/隐藏 1.js动态添加样式 1.添加 ...

最新文章

  1. mysql limit耗时过长
  2. Manual手册的正确姿势
  3. 巅峰对话:畅想大数据时代的车联网与智能汽车
  4. intern()方法的使用
  5. 怎么引jsp包_电机引接线的制作流程防护等级
  6. 别再用if-else了,用注解去代替他吧
  7. 用jQuery实现banner图片切换
  8. C语言经典递归算法之和式分解
  9. ado mfc mysql_MFC 中用ADO访问数据库
  10. Silverlight中动画的性能浅析
  11. 数据库课程设计 医院管理系统 SQL
  12. nginx无网络启动失败——proxy_pass域名DNS解析出错
  13. Linux预处理功能,ZABBIX4.2预处理新功能---数据节流THROTTLING
  14. 第41期、基于JSP的实验室预约管理系统
  15. 观察力训练(福尔摩斯演绎法)
  16. 线上教育核心竞争力是什么?声网发布在线素质、职业教育解决方案
  17. 安卓apk版本检测下载升级全过程
  18. 这是烙印,是成长的陪伴,是归属
  19. 2021-11-14 2021年煤矿采煤机(掘进机)操作考试资料及煤矿采煤机(掘进机)操作免费试题
  20. php 停止运行下面脚本,php如何停止脚本运行

热门文章

  1. 数据结构六种常见的排序方法(超详细图解内附代码)
  2. HollyQAC开博啦
  3. 浅析java代码是如何获取kerberos principal 的realm和kdc相关信息的
  4. 安卓期末作品简单_小学语文期末考试总攻略,有它就够了!
  5. 英语广场杂志英语广场杂志社英语广场编辑部2022年第28期目录
  6. i9 12900k和r5 5600x选哪个好
  7. U232-P9_Console转接线驱动
  8. 美国下一代宇宙飞船“猎户座”曝光 年底试飞
  9. 【实操版】用户分层,这样做会更合理!
  10. h5 3D旋转立方体