0

特定の単語のテキスト スタイルで始まる行を変更する必要がある巨大なドキュメントがあります。これらすべての単語の配列を作成し、For ループを使用してドキュメントをフォーマットしようとしました。ただし、配列内のすべての単語ではなく、配列内の最初の単語のスタイルのみが変更されます。

以下は私がやったことです、それを見て解決策を提案してください:

Sub Variables_NormalTxt()
    Dim oRng As Word.Range
    Dim oRngFC As Word.Range
    Dim varUbyteNormal As Variant
    Dim ArrayItem As String
    Dim i As Integer
    varUbyteNormal = Array("uword", "ubyte", "bool", "sword", "const", "ulong", "static")
    Set oRng = ActiveDocument.Range
    i = 0
    For i = 0 To UBound(varUbyteNormal)
    With oRng.Find
        .Text = varUbyteNormal(i)
        .Font.Name = "Times New Roman"
        .Font.Bold = False
        .Font.size = 10
        While .Execute
          oRng.Select
          Set oRngFC = ActiveDocument.Bookmarks("\Line").Range
              oRngFC.Style = "variable normal"
            Wend
        End With
    Next i
End Sub
4

2 に答える 2

0
Dim varUbyteNormal As Variant
varUbyteNormal = Array("uword", "ubyte", "bool", "sword", "const", "ulong", "static")

Dim i As Long
For i = LBound(varUbyteNormal) To UBound(varUbyteNormal)

  With ActiveDocument.Range.Find
    .ClearFormatting
    .ClearAllFuzzyOptions

    With .Font
      .Name = "Times New Roman"
      .Bold = False
      .Size = 10
    End With

    .Text = varUbyteNormal(i)

    With .Replacement
      .ClearFormatting
      .Style = "variable normal"
    End With

    .Execute Replace:=wdReplaceAll
  End With

Next
于 2013-10-28T20:42:49.883 に答える