word 插入题注后标签与编号间有一个空格,编号与标题之间没有空格!这显然不符合中文习惯。中文习惯应该是题注的标签与编号间没有空格,编号与标题之间有空格。可通过插入一段VBA宏代码解决这个问题。步骤如下面3个图所示。 Word2019查看宏 新建一个名为InsertCaption的宏 点击编辑打开宏编辑器,复制以下命令后添加至宏代码
复制以下命令后添加至宏代码(word需要启用宏功能)
Sub InsertCaption()
'功能:自动删除标签与编号间的空格,并在题注数字后添加一个空格,即将“图_1”变为“图1_”,“_”表示空格。
'仅用于“图”,其他标签需要修改代码;宏代码在Word 2019上通过测试。
'真正从原理上协同系统插入题注,无任何前提条件;用户照常插入题注即可,甚至感觉不到程序的存在!
'LiangNN 2022年12月11日 参考网络代码,简化修改
Dim startPt As Long, endPt As Long
startPt = Selection.Start 'startPt标注起始点
'插入“题注”对话框出来后,选择“图”标签,按“确定”结束则会执行以下程序。不要在对话框里输入标题!否则程序出错
If Dialogs(wdDialogInsertCaption).Show = -1 And Dialogs(357).Label = "图" Then '数字357同样表示wdDialogInsertCaption对话框
endPt = Selection.Start 'endPt标记插入的题注部分终点
Selection.Start = startPt '选定插入的整个题注
'删除标签与编号间的空格
With Selection.Find
.Text = "图 "
.Forward = True 'False=向上查找,(True=向下查找)
.MatchWildcards = False '不使用通配符
.Replacement.Text = "图"
.Execute Replace:=wdReplaceOne '替换找到的第一个,此处用作删除空格
endPt = endPt - 1 '删除空格后,末位减1
Selection.Start = endPt '取消选中,将鼠标移动到编号后面
Selection.End = endPt
Selection.TypeText Text:=" " '编号后添加一个空格
End With
End If
End Sub
网友评论