
VBA办公自动化
文章平均质量分 68
VBA-守候
致力于用VBA和Python解决Office办公自动化问题。
展开
-
Word VBA:对数字批量加千分位,设置小数位数和设置负数格式
用Word的查找替换方法【Find】查找位置,用FormatNumber生成对应数字的格式化字符串,依次替换。光标定位在主程序/程序入口范围内,点击【运行】即可。原创 2023-03-02 22:58:19 · 1256 阅读 · 0 评论 -
Word VBA:多级编号的设置
文档中样式“标题 1”到“标题 9”分别链接到相应级别列表各级列表与文字间不用默认的制表符连接,而用空格连接完成对激活文档(当前文档)光标所选区域符合要求的标题段落(样式为“标题 n”的段落)应用此列表。原创 2023-03-19 19:50:58 · 1353 阅读 · 0 评论 -
Word VBA:判断一个单元格是否为合并单元格
第三部分,合并列的数值,比如1表示此单元格合并了1列(1列即没有合并列)。第一部分,表明是否为合并单元格(True是,False否);第二部分,合并行的数值,比如2表示此单元格合并了2行;原创 2023-02-20 17:16:07 · 3116 阅读 · 0 评论 -
PPT VBA:多文件合并代码
【代码】PPT VBA:多文件合并代码。原创 2023-02-15 12:14:59 · 388 阅读 · 0 评论 -
Word VBA:结合网友的自定义函数对汉字批量增 / 删拼音
常规方法是非常耗时的,一页通用A4纸至少有这段文字的4-5倍多,也就是说,完成一页汉字加拼音,至少是100-125秒。那么对于多页甚至多份文档来说,此方法速度可能就不能满足我们的需求了。我们可以运用汉字与拼音的映射关系,自己写一个函数,然后对我们要处理的汉字可以立刻找到对应的拼音。然后用Word VBA中的拼音指南方法Range.PhoneticGuide方法进行加拼音。原创 2022-11-28 21:40:17 · 1700 阅读 · 0 评论 -
Word目录:【同一篇文档设置多个独立目录】详细过程
自带的标题样式已经很好了。系统默认样式个体优势何在,后面有机会给大家详细介绍。(很多人应该经历过“整篇文档无数样式,眼花缭乱,无从下手”在困扰,这也是原因之一。)原创 2022-07-23 00:06:45 · 8186 阅读 · 0 评论 -
Word VBA:批量删除多个分段页面
注意这里需要判断一下,如果arr中的元素本身没有“-”,即分割出的brr中有一个元素brr(0),此时需要让brr(1)也等于brr(0)。请输入需要各部分删除的页码范围(页码从小到大,且每部分不能重叠),每部分首尾用【-】连接,各部分之间用逗号分隔,如"1-5,10-20,95-100";(2)从arr的最大下标(最后一个)循环到arr的最小下标(第一个),每次循环的结果通过split函数用“-”分隔,存入数组brr中;(3)i从brr(1)的值循环到brr(0)的值,删除i对应的页面。......原创 2022-07-21 12:03:47 · 1015 阅读 · 0 评论 -
PPT VBA:批量转PDF
用presentations.open()方法打开遍历的PPT文件,赋值给prs对象。将打开的文件prs对象和PDF路径fName传递给另存、导出或打印的过程,生成PDF。有其他任何VBA/办公自动化的问题也可以提问或者浏览我的主页的回答和文章。关于具体的操作方法和Word批量导出PDF的方法,请关注我之前的专栏文章。然后遍历这个数组,获取每个文件夹下的PPT文件,存入另一个数组drr。遍历前面的drr,同时把拼接出导出的PDF文件的路径fName。完成,关闭打开的DPF文件prs。...原创 2022-07-20 19:30:05 · 1641 阅读 · 0 评论 -
VBA:结合查找替换批量检索关键词
因为此问题可以结合大学日常用得较多的Excel,作为存储多个关键词的载体。此文便在Excel中写代码,也方便操作。原创 2022-07-18 23:04:07 · 2469 阅读 · 2 评论 -
Word:字符横式分数转换为竖式分数
因为字符形式的分式有明显的规律,即数字(1位或多位)+“/”+数字(1位或多位)。这样就可以用Word自带的批处理功能【通配符查找替换】一次性选中所有符合要求的字符串(即每个分式区域)。这一步的方法基本固定,不推荐其他复杂方法;如果有更简单方法找到分式区域,欢迎交流。建议无论新手老手,操作Word排版中一定要把查找替换尤其是【通配符查找替换】当作批处理工具首选。(即使会VBA也是这样)......原创 2022-07-17 12:16:07 · 774 阅读 · 1 评论 -
Word VBA:批量导出Visio对象为图片
因为Word中的Visio对象也是Word中的域,所以在遍历的时候既可以遍历文档中的域(fields),也可以遍历文档中的图片(inlineshapes)。原创 2022-07-16 17:34:08 · 1387 阅读 · 0 评论 -
Word VBA:MathType公式与Latex公式切换
因为是通过VBA代码编写我们既可以写循环(对选区的每个公式单独选中,切换),又可以一步完成(全选需要处理的所有公式,直接写一条语句即可完成)。(2)遍历区域内的域,因为MathType公式的域代码必定包含【EMBEDEquation.】,用like方法比较判断是否为MathType公式。大概运行了4-5分钟,屏幕还在一直抖动,因为运行太慢,就手动停止了。(3)如果是MathType公式,则选中这个域(公式)所在区域,执切换命令,然后计数。这里准备了两内容相同的文档,老师34页公式,我们对全文公式操作。...原创 2022-07-15 02:17:22 · 1662 阅读 · 8 评论 -
Excel VBA:批量对文件任意重命名(移动)
如果用Dir()方法和MkDir方法,一般只能在已经存在的文件夹内创建一层新的子文件夹。无法命名任意多层文件夹。也就是说,如现在如果已经存在文件夹【E:\ABC】,才能创建【E:\ABC\DEF】;否则是不能直接创建后面的新文件夹的。用FSO对象主要是因为它处理文件与文件夹更专业,里面有各种函数和方法,不需要自己通过Mkdir/Dir/Split等函数和方法慢慢构造路径;同时避免很多出错的可能。比如给定需要创建的文件夹是利用【FSO.DriveExists()】函数判断给定的路径对应的盘符【E:\】是否存在原创 2022-07-13 22:44:34 · 4805 阅读 · 0 评论 -
Word VBA:批量更改图片的格式
一、思路1.遍历形状2.判断形状类型3.操作完成二、示例代码一般可能不需要将插入的悬浮型图片以外的形状(如文本框、矩形等)转换为嵌入式所以本文示例代码增加了这个选项,根据需要按提示选择即可...原创 2022-07-13 01:36:16 · 2141 阅读 · 2 评论 -
Word VBA:批量转PDF且保留书签
Word VBA如何批量转PDF?同时如何设置PDF标签选项?本文专注于解决上述问题,耐心看完。希望对您使用Word和用VBA对其进行二次开发都有所帮助。原创 2022-07-11 19:19:12 · 3480 阅读 · 10 评论 -
Word VBA:批量给Word文件添加水印
Word VBA:批量给Word文档添加水印原创 2022-07-10 17:30:17 · 2799 阅读 · 2 评论 -
Word VBA:查找隐藏字符
【在Word VBA中,如果需要提取Word文档的的隐藏字符,需要先将隐藏字符取消隐藏才能用查找(替换)方法找到相应字符。那么不显示隐藏字符能查找到对应字符吗?】原创 2022-07-01 10:09:41 · 1131 阅读 · 0 评论 -
Python:用【Win32】模块,结合Word通配符替换,将Word文档表格的部分内容替换为加粗
在Python中,如果需要对所有表格的某一部分进行修改,可以用【Win32】模块。文章主要说明如何结合Word通配符替换,将Word文档表格的冒号(含)之前的内容替换为加粗。原创 2022-07-06 13:16:34 · 907 阅读 · 4 评论 -
Word自定义目录的设置
目录一、本文大纲二、你可能有这些困惑1.目录设置好了,但正文标题中的文字改了,再更新目录,整个目录的格式又变了2.目录设置好了,目录样式也已经调好了,但是正新后,还是有格式不统一的(如有的粗体、有的斜体、甚至有的字体都不一样)3.文档有的部分,正文并不写相应标题,但目录要体现出来三、常用的生成方法1.方法2.优缺点(1)优点(2)不足四、导航功能的作用1.调出窗格2.需要做到3.作用分析五、三种目录生成方法1.根据段落大纲级别生成2.根据样式生成3.根据目录域生成六、推荐的目录生成方法1.方法(1)设置方法原创 2022-06-01 12:02:34 · 3387 阅读 · 0 评论 -
WordVBA:半角字符转为全角字符(结合查找方法)
WordVBA全半角原创 2022-05-13 22:53:14 · 2346 阅读 · 0 评论 -
VBA:用MkDir函数创建多层文件夹
一、假设问题在VBA中,如果直接用Dir()函数创建文件夹,只能在已有文件夹里创建一层子文件夹。如:已存在路径:C:\A不存在路径:C:\A\B现在如果要创建路径:C:\A\B\D\F这种情况下,用Dir()直接是创建不了的,当然可以用其他对象创建,但是如果非得用Dir()函数创建,也不难。二、解决思路1. 把需要创建的路径C:\A\B\D\F用“\”分割成数组,位次判断第一次判断:C:第一次判断:C:\A第一次判断:C:\A\B原创 2021-12-30 01:11:04 · 7747 阅读 · 1 评论