Office Word 中的宏
- 简介
- 宏的使用
- 将自定义创建的宏放入文档标题栏中的“自定义快速访问工具栏”
- 插入指定格式、内容的字符
- 选中word中的指定文字
- 查找word中的指定文字A,并替换为指定文字B
- 插入文本框并向内插入文字
- word 表格中的宏操作
- 遍历表格中的所有内容
- 批量设置表格中所有内容文字为居中对齐
简介
宏是一个批量处理程序命令,微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力,具体做法是在“工具”菜单“宏”-“宏”弹出的对话框输入宏名,然后按“创建”按钮会打开visual basic编辑器,你就可以编程了,这个就是宏。
宏的使用
将自定义创建的宏放入文档标题栏中的“自定义快速访问工具栏”
如下图所示
若需要修改宏的图标,可以在添加该宏后 在右侧“自定义快速访问工具栏”中 选中该宏,然后点击下方的修改按钮,如下图所示。
点击确定后,完成宏在快速访问工具栏中的添加。
插入指定格式、内容的字符
Sub InsertWords()
'
' InsertWords 宏
'
' FormatText 宏1 //在注释中插入自己想要描述的内容
'Selection.Font.Bold = True //若在插入文字的代码前设置是否为粗体,则对接下来插入的字体起到设置作用Selection.Font.Italic = True //设置是否为斜体Selection.Font.Name = "Calibri"Selection.Font.Size = 16//此段代码会在当前光标的位置插入"Hello World!"Selection.TypeText Text:="Hello World!" //设置要插入字体//Selection.Font.Bold = True //若在插入文字的代码后设置是否为粗体,则对下一次插入的字体起到设置作用;请注意,一旦鼠标点击将会导致【加粗下一次插入字体的设置取消】
End Sub
选中word中的指定文字
Sub 宏1()
'
' 宏1 宏
'
' 选取Word文档中的文本Dim WordDoc As Word.DocumentSet WordDoc = ActiveDocumentDim WordRange As Word.RangeSet WordRange = WordDoc.Range(Start:=0, End:=10)WordRange.Select
End Sub
查找word中的指定文字A,并替换为指定文字B
Sub WordExchanger() //此处定义的函数名需与添加按钮时一致
1: Selection.Find.ClearFormatting
2: Selection.Find.Replacement.ClearFormatting
3: With Selection.Find //此处需要分行才能连续调用“.方法名”,即左侧的3:、4:
4: .Text = "home"
5: .Replacement.Text = "替换后的字符"
6: .Forward = True
7: .Wrap = wdFindContinue
8: .Format = Flase
9: .MatchCase = False
10: .MatchWholeWord = False
11: .MatchWildcards = False
12: .MatchSoundsLike = False
13: .MatchAllWordForms = False
14: End With //使用With时,需要使用End With结束
15: Selection.Find.Execute Replace:=wdReplaceAll
End Sub
插入文本框并向内插入文字
Sub InsertWords()
' 插入文本框 宏Dim myTextbox As ShapeWith ActiveDocumentSet myTextbox = .Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, _Left:=50, Top:=50, Width:=100, Height:=50)With myTextbox.TextFrame.TextRange.Text = "Hello, World".HorizontalAnchor = msoAnchorCenter.VerticalAnchor = msoAnchorMiddleEnd WithWith myTextbox.Line.Visible = msoTrue.ForeColor.RGB = RGB(0, 0, 255).Weight = 1End WithEnd With
End Sub
word 表格中的宏操作
遍历表格中的所有内容
Sub ReadTableData()Dim wdApp As Word.ApplicationDim wdDoc As Word.DocumentDim wdTable As Word.TableDim i As Long, j As LongSet wdApp = New Word.Application'此处要填写 要读取的word文档中的内容'
Set wdDoc = wdApp.Documents.Open("C:\Data\test.docx")'选中第一张表格Set wdTable = wdDoc.Tables(1)'遍历表格数据For i = 1 To wdTable.Rows.CountFor j = 1 To wdTable.Columns.CountDebug.Print wdTable.Cell(i, j).Range.TextNext jNext iwdDoc.Close SaveChanges:=FalsewdApp.QuitEnd Sub
批量设置表格中所有内容文字为居中对齐
Sub 表格内容文字居中对齐()Dim biaoge As TableFor Each biaoge In ActiveDocument.Tablesbiaoge.Range.ParagraphFormat.Alignment = wdAlignParagraphCenterbiaoge.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenterNext biaogeEnd Sub
支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.