
添加VBA宏代碼前后插入題注的效果 2022-12-11
word 插入題注后標(biāo)簽與編號間有一個(gè)空格,編號與標(biāo)題之間沒有空格!這顯然不符合中文習(xí)慣。中文習(xí)慣應(yīng)該是題注的標(biāo)簽與編號間沒有空格,編號與標(biāo)題之間有空格??赏ㄟ^插入一段VBA宏代碼解決這個(gè)問題。步驟如下面3個(gè)圖所示。

Word2019查看宏

新建一個(gè)名為InsertCaption的宏

點(diǎn)擊編輯打開宏編輯器,復(fù)制以下命令后添加至宏代碼
復(fù)制以下命令后添加至宏代碼(word需要啟用宏功能)
Sub InsertCaption()
'功能:自動(dòng)刪除標(biāo)簽與編號間的空格,并在題注數(shù)字后添加一個(gè)空格,即將“圖_1”變?yōu)椤皥D1_”,“_”表示空格。
'僅用于“圖”,其他標(biāo)簽需要修改代碼;宏代碼在Word 2019上通過測試。
'真正從原理上協(xié)同系統(tǒng)插入題注,無任何前提條件;用戶照常插入題注即可,甚至感覺不到程序的存在!
'LiangNN 2022年12月11日 參考網(wǎng)絡(luò)代碼,簡化修改
Dim startPt As Long, endPt As Long
startPt = Selection.Start 'startPt標(biāo)注起始點(diǎn)
'插入“題注”對話框出來后,選擇“圖”標(biāo)簽,按“確定”結(jié)束則會(huì)執(zhí)行以下程序。不要在對話框里輸入標(biāo)題!否則程序出錯(cuò)
If Dialogs(wdDialogInsertCaption).Show = -1 And Dialogs(357).Label = "圖" Then '數(shù)字357同樣表示wdDialogInsertCaption對話框
endPt = Selection.Start 'endPt標(biāo)記插入的題注部分終點(diǎn)
Selection.Start = startPt '選定插入的整個(gè)題注
'刪除標(biāo)簽與編號間的空格
With Selection.Find
.Text = "圖 "
.Forward = True 'False=向上查找,(True=向下查找)
.MatchWildcards = False '不使用通配符
.Replacement.Text = "圖"
.Execute Replace:=wdReplaceOne '替換找到的第一個(gè),此處用作刪除空格
endPt = endPt - 1 '刪除空格后,末位減1
Selection.Start = endPt '取消選中,將鼠標(biāo)移動(dòng)到編號后面
Selection.End = endPt
Selection.TypeText Text:=" " '編號后添加一個(gè)空格
End With
End If
End Sub
參考網(wǎng)頁:[轉(zhuǎn)載][Word]插入題注時(shí)自動(dòng)刪除標(biāo)簽與編號前的空格,編號后添加空格 - 知乎 (zhihu.com)