单词宏:更改脚注中的第一个字符



我有以下一段代码(不是我的),它为MS Word(2013)中的每个脚注添加了一个标签。

代码工作得很好,但如果它每次不添加制表符,而是简单地用制表符替换第一个字符(无论它是- tab,空格),它会工作得更好。

这样,如果宏运行两次,我就不会有两个制表符,等等。

Sub TabFootnotes()
    For s = 1 To ActiveDocument.Footnotes.Count
        ActiveDocument.Footnotes(s).Range.Select
        With Selection
            .Collapse Direction:=wdCollapseStart
            .MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
            .TypeText Text:=vbTab
        End With
    Next
End Sub

无论如何,您都必须想出一种方法来确定第一个字符是否可替换。这是因为当你把空格换成别的东西时,这个东西就变成了脚注Range的一部分。因此,当宏再次运行时,您需要知道是否必须保留或替换第一个字符。

Dim f As Footnote
For Each f In ActiveDocument.Footnotes
  With f.Range.Characters(1)
    If .Text = vbTab Or .Text = " " Then 'Use any other sensible detection logic here
      .Text = vbTab
    Else
      .InsertBefore vbTab
    End If
  End With
Next

相关内容

  • 没有找到相关文章

最新更新