word VBA
使用VBA操作word,高效、便捷、无限可能!!!
MindMaster User
这个作者很懒,什么都没留下…
展开
-
VBA操作WORD(八)设置标题格式(含主、副标题)
因为主标题和副标题一般都是包含一两句子的段落,所以参数直接传入Paragraph。至于判断主副标题的规则则外面调用部分再做判断。需要注意的是,上述代码对于只有两个或以内段落的文档而言,会报错,因为标题下方插入空行需要判断第三行,如果没有第三行,自然会出错。调用主标题和副标题设置,并且在标题下方增加一空行(注意,不是段后一行的高度,两者不是一回事)。主副标题判断的逻辑见注释。原创 2023-07-27 16:50:12 · 2173 阅读 · 0 评论 -
VBA操作WORD(七)设置每一级大纲式样
但是有两个弊端,一是将内容复制到另外一份word文档的时候,会变成目标word所设置的式样。二是大纲标题有点,不适合公文等场合(或许可以设置去掉,不过我不知道)。原创 2023-07-27 16:42:25 · 1888 阅读 · 2 评论 -
VBA操作WORD(六)另存为不含宏的文档
所以考虑用dialog弹出另存的对话框,由用户选择文件类型和修改文件名(默认默认为文件内容的第一行(标题),减少手工劳动),但又有新的问题,dialog的.execute命令会直接将当前文档另存为新文档,导致VBA宏代码等也跟着到新文档,徒增文件体积。而我希望不要把宏代码带到新文档,采用声明一个新的文档对象,并且把当前文档的内容复制过去的形式,再使用了SaveAs2方法另存为新生成的文档对象。上面的代码很好的结合了两方的优点,解决了缺点,完美!上面的处理方法是原创,反正我没看到过类似的解决方案。原创 2023-07-27 16:40:02 · 1885 阅读 · 0 评论 -
VBA操作WORD(五)批量调整图片大小、居中设置
在word里保存比较大的图片,都大得超出了word的边界了,也没有居中,数量又多,不可能手动一张张调整。第一种方法经过测试,只是前面部分有效,后面部分无效。Sub setpicsize() '设置图片尺寸'第一种方法,经测试,文档前面部分图片有效,后面部分无效 'Dim n '图片个数 'On Error Resume Next '忽略错误 'For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes 类型转载 2021-07-16 16:31:49 · 5424 阅读 · 1 评论 -
VBA操作WORD(四):获知关键字所在段落及相关信息
代码如下:Sub 关键字所在的段落() With Selection .HomeKey unit:=wdStory, Extend:=wdMove If .Find.Execute(FindText:="关键字", Forward:=True) Then '.HomeKey unit:=wdStory, Extend:=wdExtend MsgBox (.Range.Paragraphs.Count)End If转载 2021-05-27 09:20:09 · 5049 阅读 · 4 评论 -
VBA操作WORD(三):设置页面
Sub 设置页面(oDoc As Document) With oDoc.PageSetup .LineNumbering.Active = False .Orientation = wdOrientPortrait '页面方向为纵向 .TopMargin = CentimetersToPoints(3.3) '上边距 .BottomMargin = CentimetersToPoints(3.3) '下边距 .Lef.转载 2021-03-16 15:22:11 · 2481 阅读 · 1 评论 -
VBA操作WORD(二):替换字符(含空格、全角字符、换行符等)
这篇实现WPS文字工具提供的几个小功能:Sub 段落首行缩进转为空格() Dim ib As Paragraph For Each ib In ActiveDocument.Paragraphs '排除表格 If ib.Range.Information(wdWithInTable) = False Then ib.Range.Select '缩进不一定是2个字符,只要缩进不为0就替换,避免标题、主送对象等误操作 If i转载 2021-03-16 15:21:32 · 9766 阅读 · 2 评论 -
VBA操作WORD(一):设置段落的行间距(行距)
在vba中可以用Paragraph对象或者ParagraphFormat对象设置各种段落间距。一、设置段落的行间距(行距)要设置段落的行间距(行距)可以使用LineSpacingRule属性和LineSpacing属性两者结合。如下的vba代码分别演示了如何设置某个段落的行间距为1.5倍行距、单倍行距、多倍行距、固定行距、最小行距:这里要特别注意的是,单倍行距就相当于原来的字体是什么高度,就是什么高度,没有增加额外的行间距。Sub 设置段落的行间距() Dim oDoc As D转载 2021-03-16 15:17:13 · 5925 阅读 · 0 评论