Office Word 中的宏

Office Word 中的宏

简介

宏是一个批量处理程序命令,微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力,具体做法是在"工具"菜单"宏"-"宏"弹出的对话框输入宏名,然后按"创建"按钮会打开visual basic编辑器,你就可以编程了,这个就是宏。

宏的使用

将自定义创建的宏放入文档标题栏中的"自定义快速访问工具栏"

如下图所示


若需要修改宏的图标,可以在添加该宏后 在右侧"自定义快速访问工具栏"中 选中该宏,然后点击下方的修改按钮,如下图所示。

点击确定后,完成宏在快速访问工具栏中的添加。

插入指定格式、内容的字符

bash 复制代码
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中的指定文字

bash 复制代码
Sub 宏1()
'
' 宏1 宏
'
' 选取Word文档中的文本
    Dim WordDoc As Word.Document
    Set WordDoc = ActiveDocument
    Dim WordRange As Word.Range
    Set WordRange = WordDoc.Range(Start:=0, End:=10)
    WordRange.Select
End Sub

查找word中的指定文字A,并替换为指定文字B

bash 复制代码
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

插入文本框并向内插入文字

bash 复制代码
Sub InsertWords()
' 插入文本框 宏

   Dim myTextbox As Shape
   With ActiveDocument
      Set myTextbox = .Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, _
      Left:=50, Top:=50, Width:=100, Height:=50)
      With myTextbox.TextFrame
         .TextRange.Text = "Hello, World"
         .HorizontalAnchor = msoAnchorCenter
         .VerticalAnchor = msoAnchorMiddle
      End With
      With myTextbox.Line
         .Visible = msoTrue
         .ForeColor.RGB = RGB(0, 0, 255)
         .Weight = 1
      End With
   End With
End Sub

word 表格中的宏操作

遍历表格中的所有内容

bash 复制代码
Sub ReadTableData()

Dim wdApp As Word.Application

Dim wdDoc As Word.Document

Dim wdTable As Word.Table

Dim i As Long, j As Long

Set 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.Count

For j = 1 To wdTable.Columns.Count

Debug.Print wdTable.Cell(i, j).Range.Text

Next j

Next i

wdDoc.Close SaveChanges:=False

wdApp.Quit

End Sub

批量设置表格中所有内容文字为居中对齐

bash 复制代码
Sub 表格内容文字居中对齐()

Dim biaoge As Table

For Each biaoge In ActiveDocument.Tables

biaoge.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

biaoge.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter

Next biaoge

End Sub

支持flowchart的流程图:
Created with Raphaël 2.3.0 开始 我的操作 确认? 结束 yes no

  • 关于 Flowchart流程图 语法,参考 这儿.
相关推荐
Am-Chestnuts7 分钟前
DeepSeek表格复制到Word变竖线错列?用DS随心转对比几种整理方法
人工智能·word·ds随心转
ONLYOFFICE20 小时前
团队协作软件指南:主要类型、核心功能、选型建议等
前端·onlyoffice·office
2501_930707783 天前
使用C#代码为新创建的 Word 文档创建目录
c#·word
SunnyDays10113 天前
Java 拆分 Word 文档教程:按页、分页符和分节符拆分
java·word·分页·拆分
copilot中国版4 天前
Word Copilot|一键提取文档关键信息,告别逐字阅读
word·copilot
天人合一peng6 天前
西北工业大学校外访问系统
word
古少侠6 天前
deepseek转word工具怎么选?DS随心转与4种方案对比实测
人工智能·word·powerpoint
小羊没烦恼!7 天前
Memory 记忆设计讨论:Agent Memory 的安全边界:权限、删除、版本与回执
java·大数据·word·powerpoint·.net
拆房老料7 天前
BaseMetas FileView 1.3.0 发布:大文件更稳,PDF 预览更完整
pdf·word·开源软件·ppt
weixin_416660077 天前
DeepSeek、豆包生成的表格怎么导出Excel,避免内容挤在一列?
word·豆包·deepseek