Выделение нескольких конкретных слов в зависимости от значения в VBA - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь выделить определенные слова на основе строки, читаемой в код vba.У меня есть строка для чтения в vba, и теперь я хочу выбрать слово или слова, чтобы выделить их жирным шрифтом.

Если в код vba было прочитано следующее: Мальчик побежал по улице.

В вышеприведенном предложении, какой код я бы использовал, если бы хотел выделить только слово «мальчик»?Что бы я использовал, если бы хотел выделить слова boy и the?

Я попробовал следующий код, но не знаю, как изменить его в моем конкретном случае.

https://code.adonline.id.au/vba-format-text-microsoft-word/

Короче говоря, я хочу код, который будет читать строку, искать в этой строке количество слов x и выделять жирным шрифтом указанные слова для последующего экспорта.

Дайте мне знать, если вам нужно большедетали и то, что я пытаюсь достичь.

1 Ответ

0 голосов
/ 28 сентября 2019

Excel довольно хорошо форматирует целые ячейки, но не очень хорошо форматирует части ячеек.Один из способов, которым я смог это сделать, - превратить текст в очень простой HTML, а затем вставить текст в ячейку.Вот пример.

Public Sub BoldCertainWords()

    Dim sSentence As String
    Dim dobj As DataObject

    Set dobj = New DataObject

    sSentence = "The boy ran down the street"

    sSentence = Replace$(sSentence, "boy", "<strong>boy</strong>")
    sSentence = Replace$(sSentence, "the", "<strong>the</strong>")

    dobj.SetText "<html>" & sSentence & "</html>"
    dobj.PutInClipboard

    Sheet1.Range("A1").Select
    Sheet1.PasteSpecial "Unicode Text"

End Sub

Вам нужно установить ссылку на библиотеку MS Forms 2.0, чтобы получить DataObject, если у вас его еще нет.

Обратите внимание, что дело имеет значение.Это будет жирным шрифтом the, но не The.Вы можете повторить типичную заглавную букву или разобраться с тем, как вы находите слова и строите строку HTML.

Также обратите внимание, что этот конкретный метод PastSpecial - это метод Worksheet, а не метод Range.Сначала вы должны выбрать диапазон.

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