快捷键

选区

  • 选择块:[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. linux--初识别

    镜像网站 下载系统镜像 http://mirrors.163.com/ http://mirrors.sohu.com https://www.netcraft.com/ 命令大全 https://m ...

  2. MySQL练习与小结

    当你专注一件事的时候,时间总是过得很快! foreign key 练习 -- 切换数据库 use stumgr -- 删除班级表 drop table t_class1 -- 创建一个班级表 crea ...

  3. css-sprite 雪碧图的使用,合并多张小图,背景图片当按钮的设置

    背景图片基础: 使用background-image来设置背景图片 语法: background-image:url(相对与css的路径) 如果背景图片大于元素,默认会显示图片的左上角 如果背景图片和 ...

  4. 怎样使一个宽为200px和高为200px的层垂直居中于浏览器中?写出CSS样式代码。

    div{ height:100px; width:100px; position:absolute; top:50%; width:50%; margin-letf:-100px; margin-to ...

  5. Node 12 值得关注的新特性

    前言 时隔一年,Node.js 12 如约而至,正式发布第一个 Current 版本. 该版本带来了诸如: V8 更新带来好多不错的特性. HTTP 解析速度提升. 启动速度大幅提升. 更好的诊断报告 ...

  6. .NET File 多图上传

    HTML代码: <div> <div> <input type="file" style="display:none" id=&q ...

  7. linux Sersync 参数说明

    Sersync 的可选功能是通过 xml 配置文件来实现的,下面来为大家解释该文件! 在该文件中,使用<!--中间是注释内容-->的方式去注释信息,注意不是我们平时# [root@SERS ...

  8. KNN算法项目实战——改进约会网站的配对效果

    KNN项目实战——改进约会网站的配对效果 1.项目背景: 海伦女士一直使用在线约会网站寻找适合自己的约会对象.尽管约会网站会推荐不同的人选,但她并不是喜欢每一个人.经过一番总结,她发现自己交往过的人可 ...

  9. stream benchmark 介绍

    英文原版 https://www.cs.virginia.edu/stream/ref.html FAQ中有关于STREAM_ARRAY_SIZE NTIME OFFSET STREAM_TYPE的设 ...

  10. 黑客已经瞄准5G网络,如何防止LTE网络攻击?

    黑客是如何攻击5G网络?即使5G进行大规模应用,LTE技术会被淘汰吗?那么我们应该如何防止LTE网络攻击? 5G-网络黑客 即将推出的5G网络也可能容易受到这些攻击,来自中国网络安全研究人员表示,尽管 ...