用VBA给Word中的图表插入题注

写毕业论文时需要给大量的图表命名,类似“图1.1 基本流程图”这样。如果每个图下面都手动输入信息的话,那将是一件繁琐的工作,而且如果一个图的序号更改了,那可能所有的图注都需要更改。采用插入题注的方法不但可以快速插入格式统一的图注,而且可以一键将所有图注生成带链接的图录。
但Word中这样插入题注的方法也会遇到一些问题,我们的章节名一般要用中文数字,如“第一章 绪论”,插入的题注会显示为“图一.1 基本流程图”。似乎我们没法“第一章”和“图1.1”兼得。
网上会有很多解决方案,教你如何将“图一.1”改为“图1.1”,但繁琐的让人不愿下手,下面给出用VBA(Visual Basic 宏语言)快速插入题注的方法:

  1. 首先需要对你的章和节设置多级编号,也就是你的章节标题需要通过点击“标题1,标题2……”这样的方式插入。(也方便一键引用和更新整个目录)
  2. Alt+F11打开VBA窗口,点击插入-模块,直接复制下面内容到模块窗口:
Sub InsertCaption()
Dim ZH1 As String, ZH2 As String
Dim TH As String

Selection.TypeText "图"

ZH1 = "QUOTE ""一九一一年一月日"" \@ ""D"""
Selection.Fields.Add Range:=Selection.Range, PreserveFormatting:=False, Text:=ZH1
Selection.EndKey

ActiveWindow.View.ShowFieldCodes = True
Selection.MoveLeft , 11

ZH2 = "STYLEREF 1 \s"
Selection.Fields.Add Range:=Selection.Range, PreserveFormatting:=False, Text:=ZH2
Selection.EndKey

Selection.TypeText "-"

TH = "SEQ 图 \* ARABIC \s 1"
Selection.Fields.Add Range:=Selection.Range, PreserveFormatting:=False, Text:=TH

ActiveWindow.View.ShowFieldCodes = False
Selection.WholeStory
Selection.Fields.Update

End Sub

点击文件-关闭并返回到Word

  1. 光标定位到需要插入题注的图下方,点击引用-插入题注,就自动出现“图1.1”。
  2. 所有图片的题注插入完成后,只需点击引用-插入表目录题注标签改为“”,即可生成带有链接的图录。

推荐阅读更多精彩内容