VBA Word изменить размер шрифта определенных слов в ячейке таблицы - PullRequest
0 голосов
/ 04 декабря 2018

Из Excel я редактирую документ Microsoft Word.В моем документе Word есть таблица, в которой столбец 4 состоит из числа, а затем букв wk .

Пример:

+------+------+------+-------+
| Col1 | Col2 | Col3 | Col4  |
+------+------+------+-------+
| test |    2 |  123 | 1 wk  |
| test |    2 |  123 | 13 wk |
| test |    2 |  123 | 10 wk |
+------+------+------+-------+

Я пытаюсьизменить размер шрифта букв wk .Я подумал, что могу сделать это с выделением, а затем заменить буквы, но это определенно не работает в VBA через Excel.Как мне этого добиться?

Мой текущий код:

Tbl.Columns(4).Select
WDApp.Selection.Find.ClearFormatting
With WDApp.Selection.Find
    '.ClearFormatting
    .Text = "wk"
    .Replacement.Text = "wk"
    .Font.Size = 9
End With
WDApp.Selection.Find.Execute Replace:=wdReplaceAll

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Попробуйте:

Tbl.Columns(4).Select
With WDApp.Selection.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Text = "wk"
  .Replacement.Text = "^&"
  .Replacement.Font.Size = 9
  .Execute Replace:=wdReplaceAll
End With

Примечание: Если в столбце 4 есть только ячейки, содержащие «wk», вам не нужно выбирать столбец.Например:

With WDApp.ActiveDocument.Tables(1).Range.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Text = "wk"
  .Replacement.Text = "^&"
  .Replacement.Font.Size = 9
  .Execute Replace:=wdReplaceAll
End With
0 голосов
/ 04 декабря 2018

Это не проверено и на мобильном телефоне, так что терпите меня здесь.

В настоящее время вы не изменяете размер текста «замещающего» текста, поэтому вам следует обновить его до .Replacement.Font.Size = 9

With WDApp.ActiveDocument.Content.Find

    .ClearFormatting
    .ClearAllFuzzyOptions

    .Text = "wk"

    With .Replacement
        .Text = "wk"  'this line might be unnecessary
        .Font.Size = 9
    End With

    .Execute Format:=True, Replace:=wdReplaceAll

End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...