在Word中重复查找

时间:2014-12-12 22:18:49

标签: vba ms-word

如何在文档的开头创建一个宏开始并重复它直到单词doc的结尾,而不必一直手动重复宏?

我读到我应该使用DO UNTIL / WHILE LOOP,但我不知道该怎么做,因为我使用" RECORD MACRO"创建了宏。 Word的功能。

我设法重复了几次,复制并粘贴代码的相关部分。当然,它只重复了我粘贴的次数。

这就是Word录制的内容(它适用于1行,找到制表符并移动5.5厘米左右的行)。

Sub aaTabs()
'
' aaTabs Macro
'
'
    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^t"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    With Selection.ParagraphFormat
        .SpaceBeforeAuto = False
        .SpaceAfterAuto = False
        .FirstLineIndent = CentimetersToPoints(-5.5)
    End With
End Sub

1 个答案:

答案 0 :(得分:1)

这个怎么样,只有当标签是第一个字符时才有效,不确定这是不是你想要的

Sub MoveTab()
Dim para As Paragraph
For Each para In ActiveDocument.Paragraphs
 If para.Range.Characters(1) = Chr(9) Then
    para.Format.FirstLineIndent = CentimetersToPoints(-5.5)
 End If
Next para
End Sub