微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用VB对word文档进行格式调整

在word文档中,有时候会出现大量表格,在需要调整格式时,只能一个一个手动刷格式,这样不仅费时而且很费力。本人在写文档时,碰到这种情况,熬夜干活儿,太累。所以下定决心,抽点时间研究WORD中的宏编程。经过测试,基本上能批量改变word中的样式。下面附上本人研究VB代码,打开word中的宏。

操作方式:开发工具(如果没有,直接点击工具栏,右键,自定义工具,选择开发工具),如果有兴趣研究的话,可以采用录制宏的方式,查看其代码



Sub Doc_tableupdate()
'处理所有表格的Table,ActiveDocument.Tables.Count获取表格数
For i = 1 To ActiveDocument.Tables.Count
'定义为Table的第一行的颜色
ActiveDocument.Tables(i).Rows(1).Shading.ForegroundPatternColor = -570366209
'j用来控制行,m用来控制列,实现两个循环
For j = 2 To ActiveDocument.Tables(i).Rows.Count
For m = 1 To ActiveDocument.Tables(i).Columns.Count
ActiveDocument.Tables(i).Cell(j,m).Range.Bold = 0
'ActiveDocument.Tables(i).Cell(j,m).Range.Paragraphs.Format.Style
ActiveDocument.Tables(i).Cell(1,m).Range.Paragraphs.Alignment = wdalignParagraphCenter
ActiveDocument.Tables(i).Cell(j,m).Range.Paragraphs.LeftIndent = -2
ActiveDocument.Tables(i).Cell(j,m).Range.Style.Font.Name = "宋体"
ActiveDocument.Tables(i).Cell(j,m).Range.Style.Font.Size = 12
Next m
Next j
Next i

End Sub


Sub editContent() ' ' 宏1 宏 ' 'with为重新定义正文样式 With ActiveDocument.Styles("正文").Font .Namefareast = "黑体" .NameAscii = "+西文正文" .NameOther = "+西文正文" .Name = "+西文正文" .Size = 14 .Bold = False .Italic = False .Underline = wdUnderlineNone .UnderlineColor = wdColorAutomatic .StrikeThrough = False .DoubleStrikeThrough = False .Outline = False .emboss = False .Shadow = False .Hidden = False .SmallCaps = False .AllCaps = False .Color = wdColorAutomatic .Engrave = False .Superscript = False .Subscript = False .Scaling = 100 .Kerning = 1 .Animation = wdAnimationNone .disableCharacterSpaceGrid = False .EmphasisMark = wdEmphasisMarkNone .ligatures = wdligaturesNone .NumberSpacing = wdNumberSpacingDefault .NumberForm = wdNumberFormDefault .StylisticSet = wdStylisticSetDefault .ContextualAlternates = 0 End With With ActiveDocument.Styles("正文").ParagraphFormat .LeftIndent = CentimetersToPoints(0) .RightIndent = CentimetersToPoints(0) .SpaceBefore = 0 .SpaceBeforeAuto = False .SpaceAfter = 0 .SpaceAfterauto = False .LinespacingRule = wdLinespace1pt5 .Alignment = wdalignParagraphJustify .WidowControl = False .KeepWithNext = False .KeepTogether = False .PageBreakBefore = False .NoLineNumber = False .Hyphenation = True .FirstLineIndent = CentimetersToPoints(0.35) .OutlineLevel = wdOutlineLevelBodyText .CharacterUnitLeftIndent = 0 .CharacterUnitRightIndent = 0 .CharacterUnitFirstLineIndent = 2 .LineUnitBefore = 0 .LineUnitAfter = 0 .MirrorIndents = False .TextBoxTightWrap = wdTightNone .AutoAdjustRightIndent = True .disableLineHeightGrid = False .fareastLineBreakControl = True .WordWrap = True .HangingPunctuation = True .HalfWidthPunctuationOnTopOfLine = False .AddspaceBetweenfareastAndAlpha = True .AddspaceBetweenfareastAndDigit = True .BaseLineAlignment = wdBaselineAlignAuto End With ActiveDocument.Styles("正文").NoSpaceBetweenParagraphsOfSameStyle = False With ActiveDocument.Styles("正文") .AutomaticallyUpdate = False .BaseStyle = "" .NextParagraphStyle = "正文" End With End Sub Sub applyStyles() ' ' applyStyles 宏 ' ' Selection.Style = ActiveDocument.Styles("正文") End Sub Sub testApplyStyles() 'For i = 1 To ActiveDocument.Paragraphs.Count 'ActiveDocument为当前活动文档,Paragraphs为段落。该句含义为将文档所有正文使用样式正文,wdStylenormal为正文认,wdStyleheading1为标题1,依此类推 ActiveDocument.Paragraphs.Style = ActiveDocument.Styles("正文") 'Next ' ActiveDocument.Styles("正文").NoSpaceBetweenParagraphsOfSameStyle = False ' With ActiveDocument.Styles("测试样式") ' .AutomaticallyUpdate = False ' .BaseStyle = "" ' .NextParagraphStyle = "测试样式" ' End With End Sub

原文地址:https://www.jb51.cc/vb/257204.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐