Microsoft Word 2016 VBA开发 通过脚本实现表格内显示、隐藏一行注释

news/2024/7/5 2:14:53

背景

曾经的同事微信求助,在一个类似问卷的docx文件中的某个Table内,分别放入两个按钮:显示、隐藏,用于指导用户进行表格填写

方法

1. 创建一个docm文件,并启用宏

2. 在Visual Basic编辑器中插入如下代码

Public Sub ShowNotif()
  If ActiveDocument.Bookmarks.Exists("BM1") = True Then 
    ActiveDocument.Bookmarks("BM1").Select
    Selection.InsertAfter Text:="Your notifications here." 'Input your notification here
  End If
End Sub

Public Sub HideNotif()
  If ActiveDocument.Bookmarks.Exists("BM1") = True Then
    Set myrange = ActiveDocument.Bookmarks("BM1").Range
    myrange.Select
    Selection.MoveEnd wdParagraph
    Selection.MoveEnd Unit:=wdCharacter, Count:=-1
    Selection.Delete
  End If
End Sub

 

3. 在该文档对应的需要显示提示信息的位置插入书签,并命名为BM1,和上述代码中的BM1对应。

4. 分别创建两个MacroButton域,分别指向函数ShowNotif和HideNotif,并将显示名调整为需要的名称,如显示、隐藏。

 PS:创建域的快捷键为Ctrl+F9

5. 完毕后双击显示,在BM1位置处会显示代码中的提示文字,双击隐藏该段文字便会消失

注意:
(1)文件需保存为DOCM
(2)若域显示不正常,需要在文件、选项、高级中,切换显示域代码而非域值 

 

Demo下载

链接: https://pan.baidu.com/s/1nvyxxc1 密码: zzh2

转载于:https://www.cnblogs.com/bionexit/p/7761325.html


http://www.niftyadmin.cn/n/4771154.html

相关文章

手机号归属地 查询

1、http://www.guisd.com 目前测试 有些号段无法查询出结构 2、http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel*** 3、https://www.juhe.cn/docs/api/id/72 需注册 免费 1000次/天 4、http://www.114best.com/dh/114.aspx?w百事通

SQL Server去重取所有列方式

select * from table where id in (select max(id) from table group by [去除重复的字段名列表,....])

shell配置java环境变量和批处理配置环境变量

linux配置java环境只需在/etc/profile中添加以下 前提是把jdk解压到/usr/local路径,当然路径可以随便改 export JAVA_HOME/usr/local/jdk1.7.0_79export JAVA_BIN$JAVA_HOME/binexport PATH$PATH:$JAVA_BINexport CLASSPATH$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/to…

Python风靡全宇宙,首要原因竟是它?

众所周知,Python是目前使用最广泛且用户增长最快的编程语言。优雅简洁的语法、强大的第三方库支持等都是Python能够风靡各行各业的原因。然而,你或许不知道,Python能够实现用户飞速增长,背后其实另有玄机。 就让我们从近年来大数据…

Quartz 的配置

2019独角兽企业重金招聘Python工程师标准>>> <?xml version"1.0" encoding"utf-8"?> <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:…

在ASP.NET WebAPI 中使用缓存

初步看了下CacheCow与OutputCache&#xff0c;感觉还是CacheOutput比较符合自己的要求&#xff0c;使用也很简单 PM>Install-Package Strathweb.CacheOutput.WebApi2 基础使用 CacheOutput特性 [Route("get")] [CacheOutput(ClientTimeSpan 60, ServerTimeSpa…

父页面调用子页面方法, 子页面加载父页面传送的数据

先看效果图就明白需求了: 点击search查询结果集, 点击某一条将该条的其他信息分别加载到tab1和tab2中, 即net bill和other amount这两个tab. 点击clear清空查询条件及datagrid, 同时清空tab1和tab2内的数据. 父页面: 1 <% page language"java" contentType"t…

windows server 2008 创建NTP时间同步服务器和客户端

背景&#xff1a;处于内网内的多台服务器&#xff08;我们称之为NTP客户端&#xff09;时间经过长时间运行&#xff0c;系统时间相差5分钟&#xff0c;有一台服务器连接外网&#xff08;我们称为NTP服务器&#xff09;。 由于外网服务器可以和internet时间同步&#xff0c;故选…