功能
如果word标题为“第一章”,让图片题注从“图一-1”转化为“图1-1”。
此前毕设验证可用。
VBA代码
Sub 插入图片标题()
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
备注
2022年3月8日:
1)建议另起一行插入题注,然后运行改脚本,将“图一-1”转化为“图1-1”。
2)后续插入图片题注时,不直接使用word的插入题注功能,而是复制之前得到的“图1-1”,然后 Ctrl+A 选中全文,按F9更新域,就会变成“图1-2”之类的。
2022年3月9日(2022年3月18日更新):
直接分享word文档:https://www.aliyundrive.com/s/EkBtkrWuhmy。已转好,直接复制题注即可使用。
2022年3月18日:
如何拓展至“表1-1”等相似题注?
首先,复制“图1-2”题注,然后右键“切换域代码”
再把域代码里面的“图”改为“表”,然后选中全部域代码,右键“切换域代码”换回去:
这时,再Ctrl+A 选中全文,按F9更新域,就会变成“表1-1”:
更新到分享的word里面了 😄