盛行自动化办公的今天,越来越多的自动化办公插件涌现出来。今天就介绍其中一款插件,Word魔方。
魔方包含90多个强大功能。其中包括一键AI智能排版、批量合并文档、批量拆分文档、批量提取Word数据到Excel、批量插入首页封面、批量整理文档格式、批量插入图片、批量另存图片、批量插入图片、批量统一图片尺寸、批量调整Word表格的格、批量生成PDF、批量转换PDF等等。
插件在一些复杂功能中,添加了演示视频,让第一次使用的人也不会摸不着头脑,无从下手。
我们着重介绍其中的一些功能:
该功能支持批量处理多个文档中的特定内容,包含删除空行、删除页眉页脚、删除可选文字、空白页、最后一段、表格转文字、清除超链接和网址、去白字、去除页眉横线、去除水印、清除所有图片、清除手机号、清除白色背景、清除属性、去除文本框复选框、清除邮箱、手动换行符转回车符等。
支持对文件夹下所有的文档执行操作,支持子文件夹。
批量对多个文档添加页眉或者页脚,支持向页眉页脚中添加自定义文字以及图片,支持添加的同时,对页眉页脚添加限制编辑的密码。
此功能对于保护自己的文档大有作用。
将多个图片插入到Word的表格中,图片下方备注多行信息,另外可以选择插入后图片展示几列。多行信息来自于图片名字,图片名字要遵循一定命名规则,例如:信息1+信息2+信息3.jpg,导入word表格之后,图片下方展示的信息就是:信息1、信息2、信息3
通常我们要重复提取每个文档中一些关键字后面的东西,例如:【联系人:】后面的名字;【联系电话:】后面的具体内容。这个时候我们就可以把这些值得前后关键词限定条件录入,交给插件去批量取抓取数据到Excel。
提取多文档数据到Excel【段落+表格】是 提取多文档数据到Excel【纯表格】的升级版,针对内部是【表格+一般文字性描述段落】混合的文档,例如:一些调查表、技术交底等。可以一键提取所有文档中固定位置和相对位置的数据
快速批量合并多个Word文档。需要注意的是,如果多个word文档格式不一致,合并之后,格式不能保证上下文一致。
按页数拆分文档,可以每1页拆分为1个文档,也可以每2页拆分为一个文档,拆分的页数自己来设定。
按一级标题去拆分文档,有多少个一级标题,就拆成多少个文档。
其中,导出关键字所在页功能应用广泛
导出包含某个关键字的页面成为独立文档。并且支持导出的文档转化为pdf文件。常见使用场景:导出签字页、导出XX调查表、导出合同最后几页附件表格等。
在插件的编写过程中,借鉴了很多优秀代码,下面也列举一些:
Sub t()
Set wd = Application
Dim h As Integer
Dim n As Integer
Dim M As Integer
Dim picrow As Integer
Dim picname As String
Dim picwidth
Dim i
Dim prr
Dim pagewidth As Double
wd.ScreenUpdating = False
Dim a
Dim P As Word.InlineShape
Dim t As Word.Table
If wd.Selection.Information(12) = True Then MsgBox ("请将光标置于表格之外!"): Exit Sub
pagewidth = wd.ActiveDocument.PageSetup.pagewidth - wd.ActiveDocument.PageSetup.LeftMargin - wd.ActiveDocument.PageSetup.RightMargin
With wd.FileDialog(3)
.Title = "请选择..."
If .Show = -1 Then
n = Val(InputBox("请输入表格的列数:", "列数", 3))
picrow = Val(InputBox("请输入图片信息总行数:" & vbCrLf & "例如:" & vbCrLf & vbCrLf & "张三+20220209+天津市" & vbCrLf & "这种就输入3" & vbCrLf & vbCrLf & "张三+天津市" & vbCrLf & "这种就输入2", "行数", 3))
If Val(n) = 0 Then Exit Sub
If Val(picrow) = 0 Then Exit Sub
M = .SelectedItems.Count
'h = IIf(M / n = Int(M / n), 2 * M / n, 2 * (Int(M / n) + 1))
'有余数就+1,没有余数不需加1
h = IIf(M / n = Int(M / n), (picrow + 1) * M / n, (picrow + 1) * (Int(M / n) + 1))
Set t = wd.ActiveDocument.Tables.Add(wd.Selection.Range, h, n)
t.Borders.Enable = True
t.Borders.OutsideLineStyle = 7
For Each a In .SelectedItems
picname = GetFileInfo(a, 2)
prr = Split(picname, "+")
Set P = wd.Selection.InlineShapes.AddPicture(FileName:=a, SaveWithDocument:=True)
With P
picwidth = .Width
.Width = Int(pagewidth / n)
.Height = .Width * .Height / picwidth
End With
i = i + 1
'移动光标写入内容,设置内容居中显示
wd.Selection.MoveLeft 1, 1
For j = 0 To UBound(prr)
wd.Selection.MoveDown 5, 1
wd.Selection.TypeText (prr(j))
wd.Selection.Cells(1).Select
wd.Selection.ParagraphFormat.Alignment = 1 '决定了首行居中
Next
'/
wd.Selection.HomeKey
wd.Selection.MoveUp 5, UBound(prr) + 1
wd.Selection.MoveRight 1, 2
'Debug.Print i, n
'/换行操作替代
If i = Val(n) Then
Dim activetbl As Word.Table
Dim activerow As Integer
activerow = Selection.Information(wdStartOfRangeRowNumber)
Set activetbl = Selection.Tables(1)
activetbl.Cell(activerow + picrow + 1, 1).Select
'wd.Selection.MoveRight 1, 1
'wd.Selection.Cells(1).Select
'wd.Selection.EndKey
'wd.Selection.MoveDown 5, UBound(prr) + 1
i = 0
End If
Next
End If
End With
wd.ScreenUpdating = True
MsgBox "完成!共导入" & M & "张图片。", vbInformation, "Word魔方"
'Catch
' MsgBox(Err.Description)
' wd.ScreenUpdating = True
'End Try
End Sub
Sub 查找隐藏文本()
With ActiveDocument.Content.Find '查找全文
.ClearFormatting '清除查找框格式
.Format = True '查找包含格式
.Font.Hidden = True '查找字体格式为隐藏的
.Forward = True '向前查找
.Wrap = wdFindStop '查找完成后停止
Do While .Execute '如果找到了
'分别打印:找到的内容,找到内容的开始位置,找到内容的结束位置
Debug.Print .Parent, .Parent.Start, .Parent.End
Loop
End With
End Sub
Sub 向上查找关键字()
Selection.HomeKey Unit:=wdLine '先到行首,因上次查找后,光标定位在查找结果之后
Selection.Find.ClearFormatting
With Selection.Find
.Text = "你好"
.Replacement.Text = ""
.Forward = False'关键语句
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
更多更全的功能介绍如下:
序号 | 功能描述 | 说明 |
1 | 多文档格式大师 | 该功能支持批量处理多个文档中的特定内容,包含删除空行、删除页眉页脚、删除可选文字、空白页、最后一段、表格转文字、清除超链接和网址、去白字、去除页眉横线、去除水印、清除所有图片、清除手机号、清除白色背景、清除属性、去除文本框复选框、清除邮箱、手动换行符转回车符等。支持对文件夹下所有的文档执行操作,支持子文件夹。 |
2 | 清除顽固尾页 | 该功能可清除顽固尾部空白页。如果您各种尝试无效,可以试试它。 |
3 | 清除页眉页脚 | 该功能可以清除当前文档中的页眉页脚。 |
4 | 删除水印 | 一次性清除当前文档中的水印。这里只能清除Word自动生成的水印。 |
5 | 删除空行 | 删除当前文档中的所有空行,包括没有内容的空格占据的一行。 |
6 | 删除所有空白页 | 删除当前文档中所有的空白页。 |
7 | 删除页眉横线 | 删除页眉中的横线 |
8 | 清除文档属性 | 清除当前文档的属性信息 |
9 | 清除格式 | 清除文字的所有格式 |
10 | 清除超链接 | 清除当前文档中的超链接 |
11 | 清除图片 | 清除当前文档中所有图片 |
12 | 清除段落首尾空白 | 删除当前文档中段落首尾多出的空白符号。 |
13 | 批量清除多文档页眉页脚 | 一次性清除多个文档中的页眉页脚。 |
14 | 批量添加页眉页脚 | 批量对多个文档添加页眉或者页脚,支持向页眉页脚中添加自定义文字以及图片,支持添加的同时,对页眉页脚添加限制编辑的密码。 |
15 | 批量添加水印 | 批量给多个文档添加水印,文字水印、图片水印都支持。 |
16 | 批量删除水印 | 批量删除多个文档中的水印 |
17 | 多文档按条件批量替换内容 | 按一定条件替换文档中的数据,比如:把【姓名:张三】替换成【姓名:李四】;把段落开头是【通知】两个字的段落执行替换等等,让替换更加灵活。 |
18 | 批量修改文档属性信息 | 批量修改多个文档的属性信息。包括:作者、最后一次保存者、创建日期、修改日期 |
19 | 多个文档转pdf | 将多个word文档批量转化为pdf文件。 |
20 | 多个文档加封面尾页 | 批量给多个文档添加封面页或者是尾页,封面和尾页需要自己提前制作好。 |
21 | 多个文档删除指定页 | 该功能可以批量删除多个文档中的首页、尾页或者是其中某个范围的几页。 |
22 | 多文档批量替换内容 | 该功能可以针对多个文档执行多组关键词的替换。 |
23 | 多个文档批量转html | 将多个文档批量转化为html文件格式 |
24 | 批量解除限制 | 可以批量解除多个文档的限制编辑,让文档可以正常编辑 |
25 | 文件名复制到文档首行 | 把多个word的文档名,分别复制并粘贴到每个word文档的首行,并对名字进行加粗 |
26 | 合并文档 | 快速批量合并多个Word文档。需要注意的是,如果多个word文档格式不一致,合并之后,格式不能保证上下文一致。 |
27 | 按页拆分文档 | 按页数拆分文档,可以每1页拆分为1个文档,也可以每2页拆分为一个文档,拆分的页数自己来设定。 |
28 | 按一级标题拆分文档 | 按一级标题去拆分文档,有多少个一级标题,就拆成多少个文档。 |
29 | 拆分关键字所在页面 | 导出包含某个关键字的页面成为独立文档。并且支持导出的文档转化为pdf文件。常见使用场景:导出签字页、导出XX调查表、导出合同最后几页附件表格等 |
30 | 删除所有表格 | 删除当前文档中所有的表格 |
31 | 首行加粗 | 对文档中所有的表格首行执行加粗操作 |
32 | 首列加粗 | 对文档中所有的表格首列执行加粗操作 |
33 | 批量插行 | 对选定的表格,批量插入多个空行 |
34 | 表格居中 | 批量居中文档中的所有表格 |
35 | 表格最佳宽度 | 对于全文的表格设置最佳宽度,可以根据内容自动调整,也可以根据窗口自动调整 |
36 | 表格转文字 | 将当前文档中所有的表格转化为文字,单元格之间以特定分隔符分隔。 |
37 | 跨页拆表 | 对于跨越2个页面的表格,程序可以自动的将表格拆分为2个。 |
38 | 删除表格空白行 | 一次性删除所有表格中没有数据的空白行 |
39 | 批量插入图片到文档 | 插入多个图片到文档中,并且图片下方显示图片名字信息 |
40 | 批量插入图片到表格【单行信息】 | 将多个图片插入到Word的表格中,图片下方备注图片的名字,另外可以选择插入后图片展示几列。 |
41 | 批量插入图片到表格【多行信息】 | 将多个图片插入到Word的表格中并自动排版,图片下方备注多行信息,另外可以选择插入后图片展示几列。多行信息来自于图片名字,图片名字要遵循一定命名规则,例如:信息1+信息2+信息3.jpg,导入word表格之后,图片下方展示的信息就是:信息1、信息2、信息3 |
42 | 导出文档中所有图片【高清原图】 | 导出文档中所有已存在的图片,均为原图大小。无任何压缩。 |
43 | 环绕改嵌入 | 转换文档中所有浮动图片为嵌入的图片形式 |
44 | 统一图片尺寸 | 修改文档中所有图片的尺寸为指定尺寸 |
45 | 清除指定尺寸图片 | 删除文档中满足尺寸的图片,可以删除高度大于某个尺寸的图片,也可以删除高度等于某个尺寸的图片。 |
46 | 图片版式转换 | 更强大的改图片版式,浮动转嵌入、嵌入转浮动 |
47 | 导出Word所有表到Excel | 文档中如果有很多个表格,可以一次性导出到excel文件中,可以导出到1个sheet,也可以导出到多个sheet。 |
48 | 提取多文档数据到Excel【纯表格】 | 针对多个内部是表格,并且格式相同的文档,例如:一些Word表格简历、一些调查表、技术交底等。可以一键提取所有文档中固定位置的数据。 |
49 | 提取多文档数据到Excel【段落+表格】 | 提取多文档数据到Excel【纯表格】的升级版,针对内部是【表格+一般文字性描述段落】混合的文档,例如:一些调查表、技术交底等。可以一键提取所有文档中固定位置和相对位置的数据。 |
50 | 按关键字位置取值到Excel【纯段落】 | 通常我们要重复提取每个文档中一些关键字后面的东西,例如:【联系人:】后面的名字;【联系电话:】后面的具体内容。这个时候我们就可以把这些值得前后关键词限定条件录入,交给插件去批量取抓取数据到Excel。 |
51 | 常用符号 | 列举了常见的一些特殊符号,可以一键插入 |
52 | Word文档转图片 | 将当前文档的某些页面转化为图片,导出到本地。支持包含页眉页脚。 |
53 | 护眼模式 | 修改当前文档底色为豆青色 |
54 | 导出批注到Excel | 导出文档中所有批注到excel表格,高版本批注有批注答复状态字段,也支持导出。 |
55 | 插入当前日期 | 按指定格式,快速插入当前日期,例如:二〇二二年十一月八日、2022年11月08日、2022年11月08号、2022-11-08 |
56 | 自动编号转文本 | 将文档中的自动编号转成普通文本,以便后续进行排版操作。 |
57 | 批量查找 | 自带查找的增强版,支持多关键字一键查找、标记查找内容的底色,并统计每个查找关键词的个数。 |
58 | 批量上下标 | 一次性设置常见单位的上下标,㎡、m³等,也支持自定义设置上下标。 |
59 | 金额转大写 | 将文档中的数字金额转换为财务专用的金额大写文本 |
60 | PDF转图片 | 把PDF文件按页拆分为图片格式 |
61 | 另存为PDF | 当前文档另存为PDF文件 |
62 | 印章工具 | 将印章图片批量插入到文档中,可以插入到每一页或者奇数页、偶数页。支持随机位移以及随机旋转角度 |
63 | 批量重命名 | 可批量重命名本地任意后缀文件,支持添加前缀、后缀、替换文件名中的字符、以及加递增编号前缀并且可自动补齐位数。 |
64 | 解除限制 | 解除当前文档的限制编辑 |
65 | 批量替换 | 对当前文档执行批量替换,支持多对多、多对一替换 |
66 | 选取多段的首句 | 一次性选中每一段的首句内容,以便后续对首句内容修改格式 |
67 | 选取多段的首字 | 一次性选中每一段的第一个字,以便后续对首字修改格式 |
68 | 选取每一页的首行内容 | 一次性选中每一页的第一行内容,以便后续对首字修改格式 |
69 | 选取当前页面所有浮动图片 | 选取当前页所有的浮动图片,以便后续对图片执行合并、删除等操作 |
70 | 选取关键字所有段落 | 选中文档中包含某个关键字的所有段落 |
71 | 选中所有表格 | 选中文档中所有表格,方便对表格执行批量设置 |
72 | 选中所有表格首列 | 选中文档中所有表格的第一列,方便对表格第一列执行批量设置 |
73 | 选中所有表格首行 | 选中文档中所有表格的第一行,方便对表格第一行执行批量设置 |
74 | 当前段落号 | 显示光标所在的当前段落号 |
75 | 插入横向页 | 一键插入横向页面 |
76 | 度量单位 | 设置当前度量单位 |
77 | 纵横转化 | 对当前页执行纵向和横向转化,当前页为横向则转化为纵向,当前页纵向则转化为横向 |
78 | 定位首页 | 光标快速定位至首页 |
79 | 定位尾页 | 光标快速定位至尾页 |
80 | 样式设置 | 设置各级标题的特征首字符,以及各级标题的段落格式。以便于程序后续对全文的段落智能识别并排版。可以根据自己的需求,设置多个排版模板,默认为《党政机关公文格式(GBT9704 - 2012)》 |
81 | 一级标题、智能一级标题 | 在配置好样式的基础上,一键设置一级标题的样式、大纲级别 |
82 | 二级标题、智能二级标题 | 在配置好样式的基础上,一键设置二级标题的样式、大纲级别 |
83 | 三级标题、智能三级标题 | 在配置好样式的基础上,一键设置三级标题的样式、大纲级别 |
84 | 四级标题、智能四级标题 | 在配置好样式的基础上,一键设置四级标题的样式、大纲级别 |
85 | 正文 | 在配置好样式的基础上,一键设置正文样式 |
86 | 页边距 | 在配置好样式的基础上,一键设置当前文档的页边距为当前样式的设置值 |
87 | 选择标题 | 根据当前样式设置,快速选择文档中满足特征首字符的段落。以便后续手动设置格式。举例:样式设置中,一级标题的特征首字符是【第一章】,那么这里按钮的作用,就会对文档中所有以【第一章】、【第二章】、【第三章】…开头的段落执行选中。 |
88 | 添加页码 | 依据规范《党政机关公文格式(GBT9704 - 2012)》,添加页码 |
89 | 姓名加空对齐 | 对于选中部分的2个汉字的姓名格式化,例如:张三,修改为张 三 |
90 | 统计数值 | 统计选定区域中的数字,并且累加求和 |
91 | 特殊数值提取 | 统计数值的增强版,可以限定需要统计数字的前缀后缀。比如:只统计【元】前面的数字 |
92 | 计算公式 | 对于文档中选中的公式,一键求值,不用再粘贴到excel计算完再粘贴回来那么繁琐了 |
93 | 求表格合计 | 对于选中表格中的数据,一键将合计计算出来,并列到尾行或者尾列 |
94 | 二维码 | 把选中内容或者剪切板内容生成二维码,支持导出到本地 |