Привет, у меня есть макрос Word, который должен отсканировать документ Word, найти слово Command, а затем преобразовать это слово в таблицу, с командой в первом столбце и результатом в столбце 2. Что я сделал не так?

Sub Search()
Dim IsFound As Boolean
IsFound = True

Selection.Find.ClearFormatting
With Selection.Find
    .Text = "Command:"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With

While IsFound
 Selection.ConvertToTable Separator:=wdSeparateByDefaultListSeparator, _
NumColumns:=2, NumRows:=8, AutoFitBehavior:=wdAutoFitFixed
With Selection.Tables(1)
    .Style = "Table Grid"
    .ApplyStyleHeadingRows = True
    .ApplyStyleLastRow = False
    .ApplyStyleLastColumn = False
IsFound = Selection.Find.Execute

End With
Wend
End Sub

Спасибо заранее за любую помощь

1 ответ1

0

Попробуйте это ... надеюсь, это поможет.

Sub Search()
Selection.HomeKey Word.WdUnits.wdStory
Selection.Find.ClearFormatting
With Selection.Find
  .Text = "Command:"
  .Replacement.Text = ""
  .Forward = True
  .Wrap = wdFindStop
  .Format = False
  .Execute
Do While .Found
    Selection.ConvertToTable Separator:=wdSeparateByDefaultListSeparator, _
        NumColumns:=2, NumRows:=8, AutoFitBehavior:=wdAutoFitFixed
    With Selection.Tables(1)
        .Style = "Table Grid"
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = False
        .ApplyStyleLastColumn = False
    End With
    Selection.Collapse Word.WdCollapseDirection.wdCollapseEnd
    .Execute
Loop
End With
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .