快捷键

选区

  • 选择块:[Shift]+click,光标放到块的一端,然后按住Shift,然后光标放到块的另一端。

更新域: F9

右键没有更新域选项时可以使用,如更新全部域先Ctrl + A然后F9

VBA 技巧

  1. 某个操作不知要调用什么方法可以先录制宏然后查看宏的代码

图片

自动编号

插入 - 题注

批量修改大小

  1. 在 word 中按 alt+f11 组合键,进入 VBA 模式

  2. 在左边的工程资源管理器中找到你的 word 文档,在其上右键 / 添加 / 模块

  3. 复制,粘贴如下代码,修改 Mywidth 和 Myheigth 为图片宽高

    Sub Macro()
      Mywidth=200 '图片宽度
      Myheigth=200 '图片高度
      For Each iShape In ActiveDocument.InlineShapes
      iShape.Height = Myheigth
      iShape.Width = Mywidth
      Next iShape
    End Sub
  4. f5 运行

批量居中

Sub ImageCenter()
For Each iShape In ActiveDocument.InlineShapes
iShape.Range.Paragraphs.Alignment = wdAlignParagraphCenter
Next iShape
End Sub

表格

设置表头(第一行)和内容(其余行)样式

(推荐)添加 tableBody,tableHead 样式,给表头和表内容添加样式

Sub setTableStyle()
For Each aTable In ActiveDocument.Tables '表内容
aTable.Select
With Selection
.Style = "tableBody"
End With '表头
aTable.Cell(1, 1).Select
With Selection
.SelectRow
.Style = "tableHead"
End With
Next aTable
End Sub

(不推荐)加粗表格第一行,直接修改样式

Sub BoldTablesFristRow()
For Each aTable In ActiveDocument.Tables
aTable.Cell(1, 1).Select
With Selection
.SelectRow
For Each aCell In .Cells
aCell.Range.Bold = True
Next aCell
End With
Next aTable
End Sub

(不推荐)加粗表格第一行,直接修改样式,会报 \<无法访问此集合中单独的行,因为表格有纵向合并的单元格。> 错误

Sub BoldTablesFristRow()
For Each aTable In ActiveDocument.Tables
For Each aCell In aTable.Rows.First.Cells
aCell.Range.Bold = True
Next aCell
Next aTable
End Sub

段落

遍历全部段落正则修改内容

要先在 vba 的菜单上工具 - 引用 - 添加 Microsoft VBScript Regular Express 这个引用才能用

Sub add_caption()
Dim title As String
'正则
Dim regExp As New regExp
regExp.Pattern = "^图(.*)[\d ]*?(.*?)(?<!。)$" Application.ScreenUpdating = False
For Each par In ActiveDocument.Paragraphs
If regExp.test(par) Then
title = "&nbsp;&nbsp;" & regExp.Replace(par, "$1")
Selection.InsertCaption Label:="图", TitleAutoText:="", title:=title, _
Position:=wdCaptionPositionAbove, ExcludeLabel:=0
End If
Next
Application.ScreenUpdating = True
End Sub

批量修改表名格式(表名在表上方)

设置样式为 "题注"

Sub setTableNameStyle()
For Each aTable In ActiveDocument.Tables
With aTable.Range
.Collapse Direction:=wdCollapseStart
.Move Unit:=wdParagraph, Count:=-1
.Select
.Style = "题注"
End With
Next aTable
End Sub

批量修改图片名格式(图片名在图片下方)

设置样式为 "题注"

Sub setImageNameStyle()
For Each iShape In ActiveDocument.InlineShapes
With iShape.Range
.Collapse Direction:=wdCollapseStart
.Move Unit:=wdParagraph, Count:=1
.Select
.Style = "题注"
End With
Next iShape
End Sub

题注

批量添加表名题注(表名在表上方)

Sub setTableName()
For Each aTable In ActiveDocument.Tables
With aTable.Range
.Collapse Direction:=wdCollapseStart
.Move Unit:=wdParagraph, Count:=-1
.Select
.Style = "正文"
End With
Selection.InsertCaption Label:="表", TitleAutoText:="", title:=" ", _
Position:=wdCaptionPositionBelow, ExcludeLabel:=0
Selection.Text = ""
Next aTable
End Sub

交叉引用

给每个表的题注添加交叉引用

写文档是经常遇到表格上面一段是表名的 “题注”,再上面一段的结尾是 “如表 x-x”,这里的 “表 x-x” 是” 表的题注的交叉引用 “,下面是一个自动添加这种交叉引用的例子:

Sub add_cr_of_caption()
Dim i
i = 1 For Each aTable In ActiveDocument.InlineShapes
With aTable.Range
.Collapse Direction:=wdCollapseStart
.Select
End With
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'交叉引用前面的字
Selection.TypeText Text:=",如"
Selection.InsertCrossReference ReferenceType:="图", ReferenceKind:= _
wdOnlyLabelAndNumber, ReferenceItem:=i, InsertAsHyperlink:=True, _
IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
'交叉引用后面的字
Selection.TypeText Text:="。"
i = i + 1
Next aTable
End Sub

样式批量导入

样式 - 样式管理 - 导入 / 导出 - 选择两个文件 - 选择样式 - 复制

正则表达式

帮助 - 搜索 "正则"

清除空白页眉页脚横线

选中空白页眉页脚 - 清除格式

插入带样式的代码

从别处复制

查看全部格式标记

设置 - 显示 - 查看全部格式标记

修订

修订的简单标记会在左边显示红线,点击红线会查看修订的详细情况

想要不显示左边的红线选无标记就行

参考

News, Tips, and Advice for Technology Professionals - TechRepublic

JS-递归获取当前节点全部指定类型的子节点的更多相关文章

  1. Jstree 使用CheckBox插件 选中父节点时被禁用的子节点也会选中问题

    问题描述: 最近用jstree遇到一个问题,使用CheckBox插件时,当父节点选中时,被禁用的子节点也会选中如下 解决方案: 1.  将jstree升级到最新的版本,v3.3.4及以上就可以 2. ...

  2. HierarchyId通过父节点创建一个新的子节点

    --HierarchyId通过父节点创建一个新的子节点 CREATE TABLE #temp( node HierarchyID ); insert into #temp select '/' uni ...

  3. js递归获取html页面所有标签

    js原生递归获取,直接源码 : <script> var child = document.children; var arr = [];//用来存放获取到的所有的标签 function ...

  4. LayUi 树形组件tree 实现懒加载模式,展开父节点时异步加载子节点数据

    LayUi框架中树形组件tree官方还在持续完善中,目前最新版本为v2.5.5 官方树形组件目前还不支持懒加载方式,之前我修改一版是通过reload重载实例方法填充子节点数据方式,因为递归页面元素时存 ...

  5. javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中;子节点全部没选中,则父节点也会没选中。

    <script type="text/javascript"> function public_GetParentByTagName(element, tagName) ...

  6. elementui tree 节点过滤加载对应子节点

    /官网例子 <el-input placeholder="输入关键字进行过滤" v-model="filterText"> </el-inpu ...

  7. js 递归获取子节点所有父节点,深度遍历获取第一个子树

    前端需求. 递归 深度优先遍历算法 // 查找一个节点的所有父节点 familyTree (arr1, id) { var temp = [] var forFn = function (arr, i ...

  8. Unity获取文件夹下指定类型的文件数量

    有个文件夹里面有很多的图片,都是.png格式的,要是一个一个的拖到脚本上觉得很麻烦,就写了一个遍历添加的cars,变量是List<Sprite> 代码如下: using UnityEngi ...

  9. 使用js如何获取treeview控件的当前选中的节点

    var selectedNodeID = theForm.elements["<%=treeView1.ClientID%>_SelectedNode"].value; ...

随机推荐

  1. 《剑指offer》面试题17 合并两个排序的链表 Java版

    我的方法:新初始化一个链表头,比较两个链表当前节点的大小,然后连接到该链表中.遍历两个链表直到null为止. public ListNode merge(ListNode first, ListNod ...

  2. POJ-1502 MPI Maelstrom 迪杰斯特拉+题解

    POJ-1502 MPI Maelstrom 迪杰斯特拉+题解 题意 题意:信息传输,总共有n个传输机,先要从1号传输机向其余n-1个传输机传输数据,传输需要时间,给出一个严格的下三角(其实就是对角线 ...

  3. HDU 1069 Monkey and Banana dp 题解

    HDU 1069 Monkey and Banana 纵有疾风起 题目大意 一堆科学家研究猩猩的智商,给他M种长方体,每种N个.然后,将一个香蕉挂在屋顶,让猩猩通过 叠长方体来够到香蕉. 现在给你M种 ...

  4. 使用pdfobject.js实现在线浏览PDF

    1.pdfobject.js官网:https://pdfobject.com/ 2.在html文件中引入这个文件,以pdfobject.min.js为例 <script type="t ...

  5. Manjaro美化 配置教程

    Manjaro Linux的美化 切换源 sudo vi /etc/pacman.conf 加入arch源 [archlinuxcn] SigLevel = Optional TrustedOnly ...

  6. Java List 类型转换

    java的类型转换让人忍不住在开始编码前骂一声  FUCK! 1  子类转父类 up List<SubClass> subs = ...; List<? extends BaseCl ...

  7. Linux 性能测试工具 sysbench 的安装与简单使用

    文章目录 Linux 性能测试工具 sysbench 的安装与简单使用        一 背景        二 实验环境            2.1 操作系统            2.2 其他配 ...

  8. RabbitMQ走过的坑,发送的消息是乱码

    发送的消息在可视化界面中是乱码,如图: 看见这个content_tpye没有,是不是很奇怪,就是这个坑,设置下就行,看代码: @Bean Jackson2JsonMessageConverter me ...

  9. 【串线篇】spring boot日志框架

    一.日志框架 小张:开发一个大型系统: 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? 2.框架来记录系统的一些运行时信息:日志框架 ...

  10. 【leetcode】1028. Recover a Tree From Preorder Traversal

    题目如下: We run a preorder depth first search on the root of a binary tree. At each node in this traver ...