快捷键

选区

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

更新域: F9

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

VBA 技巧

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

图片

自动编号

插入 - 题注

批量修改大小

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

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

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

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

批量居中

  1. Sub ImageCenter()
  2. For Each iShape In ActiveDocument.InlineShapes
  3. iShape.Range.Paragraphs.Alignment = wdAlignParagraphCenter
  4. Next iShape
  5. End Sub

表格

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

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

  1. Sub setTableStyle()
  2. For Each aTable In ActiveDocument.Tables
  3. '表内容
  4. aTable.Select
  5. With Selection
  6. .Style = "tableBody"
  7. End With
  8. '表头
  9. aTable.Cell(1, 1).Select
  10. With Selection
  11. .SelectRow
  12. .Style = "tableHead"
  13. End With
  14. Next aTable
  15. End Sub

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

  1. Sub BoldTablesFristRow()
  2. For Each aTable In ActiveDocument.Tables
  3. aTable.Cell(1, 1).Select
  4. With Selection
  5. .SelectRow
  6. For Each aCell In .Cells
  7. aCell.Range.Bold = True
  8. Next aCell
  9. End With
  10. Next aTable
  11. End Sub

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

  1. Sub BoldTablesFristRow()
  2. For Each aTable In ActiveDocument.Tables
  3. For Each aCell In aTable.Rows.First.Cells
  4. aCell.Range.Bold = True
  5. Next aCell
  6. Next aTable
  7. End Sub

段落

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

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

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

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

设置样式为 "题注"

  1. Sub setTableNameStyle()
  2. For Each aTable In ActiveDocument.Tables
  3. With aTable.Range
  4. .Collapse Direction:=wdCollapseStart
  5. .Move Unit:=wdParagraph, Count:=-1
  6. .Select
  7. .Style = "题注"
  8. End With
  9. Next aTable
  10. End Sub

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

设置样式为 "题注"

  1. Sub setImageNameStyle()
  2. For Each iShape In ActiveDocument.InlineShapes
  3. With iShape.Range
  4. .Collapse Direction:=wdCollapseStart
  5. .Move Unit:=wdParagraph, Count:=1
  6. .Select
  7. .Style = "题注"
  8. End With
  9. Next iShape
  10. End Sub

题注

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

  1. Sub setTableName()
  2. For Each aTable In ActiveDocument.Tables
  3. With aTable.Range
  4. .Collapse Direction:=wdCollapseStart
  5. .Move Unit:=wdParagraph, Count:=-1
  6. .Select
  7. .Style = "正文"
  8. End With
  9. Selection.InsertCaption Label:="表", TitleAutoText:="", title:=" ", _
  10. Position:=wdCaptionPositionBelow, ExcludeLabel:=0
  11. Selection.Text = ""
  12. Next aTable
  13. End Sub

交叉引用

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

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

  1. Sub add_cr_of_caption()
  2. Dim i
  3. i = 1
  4. For Each aTable In ActiveDocument.InlineShapes
  5. With aTable.Range
  6. .Collapse Direction:=wdCollapseStart
  7. .Select
  8. End With
  9. Selection.MoveLeft Unit:=wdCharacter, Count:=1
  10. '交叉引用前面的字
  11. Selection.TypeText Text:=",如"
  12. Selection.InsertCrossReference ReferenceType:="图", ReferenceKind:= _
  13. wdOnlyLabelAndNumber, ReferenceItem:=i, InsertAsHyperlink:=True, _
  14. IncludePosition:=False, SeparateNumbers:=False, SeparatorString:=" "
  15. '交叉引用后面的字
  16. Selection.TypeText Text:="。"
  17. i = i + 1
  18. Next aTable
  19. 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. Java 操作pdf与excel

    java 操作pdf组件  itextpdf <dependency> <groupId>com.itextpdf</groupId> <artifactId ...

  2. HDU 4014 Jimmy’s travel plan(图计数)

    Jimmy’s travel plan Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Oth ...

  3. k3 cloud中获取年月日

    日期类型字段元素.Date.Year(获取年) 日期类型字段元素.Date.Month(获取月)日期类型字段元素.Date.Day(获取天)

  4. latex算法步骤如何去掉序号

    想去掉latex算法步骤前面的序号,如下 我想去掉每个算法步骤前面的数字序号,1,2,3,因为我已经写了step.我们只需要引用a lgorithmic这个包就可以了,代码如下: \usepackag ...

  5. jquery遍历table中每个td的值

    废话不说直接上: <table style="border:1px solid #ccc">        <tr>            <td&g ...

  6. vue 和react中子组件分别如何向父组件传值

    vue子组件和父组件双向传值: 子: Vue.component("childComponent",{ template:`<div><p @click='pos ...

  7. 微信小程序倒计时实现功能

    onLoad: function () {    var that=this;    this.data.intervarID= setInterval(function () {      var ...

  8. Docker实战部署应用——Redis

    Redis 部署 拉取Redis镜像 docker pull redis 创建Redis容器 docker run -id --name=sun_redis -p 6379:6379 redis 客户 ...

  9. MVC项目集成swagger

    1.创建WebAPI项目解决方案 2.使用nuget引入Swashbuckle包 引入Swashbuckle包后App_Start文件夹下会多出一个SwaggerConfig文件 3.添加接口注释 项 ...

  10. python基础--局部变量与全局变量

    #全局变量作用于全局或整个程序中,程序执行完毕后销毁,局部变量作用在当前函数中,调用函数执行完毕及销毁 #如果函数的内容无global关键字,优先读取同名局部变量,如果没有同名局部变量,只能读取同名全 ...