字VBA-找到一个文本串在一词(不是所有的话string)有一个特定的样式或格式

0

的问题

我是想建造一些代码,以搜索文本,其中一个词在文本中是一种特定格式或样式。 例如,我想到搜索文本"你好世界,所有这些都是好的"但是,只有打击的情况"所有"一词是大胆的。

我想到了寻找的第一个几句话"hello world";崩溃的选择,寻找下一个三个字前的"所有"一词在大胆;崩溃的选择(如果真正的),然后寻找下一位对话"是好"。 这将导致在确定整个短语的粗体字,但它似乎真的效率低下并不是非常灵活。 此外,然后选择的整个句子,我必须写代码移动选择回到开始,并延长选择推进。 然后我需要重新设置的搜索继续前进从这一立场。

有一些容易的,更容易/更优雅的方式搜索字符串中只有一个字串内的具有特定性质喜欢大胆? 我特别想要搜索到忽略的实例,该短语的有关词语是没有用粗体表示。

我花了几个小时google搜索和stackflow并不能找到任何东西。

我没有代码贴,因为我不是很擅长编写代码,我真的想要明白如果有一个灵活的/高雅的方式做什么我想要的。 不灵活的根我已经解释了上述所以不灵活,我不愿意打扰编码的东西。

感谢 杰里米

ms-word replace
2021-11-20 15:04:30
1

最好的答案

0

该方法,我会用是搜索字符串并且,如果发现,则检索字符串词。 这里就是一个例子。

Sub Demo()
    Dim StringRange As Range
    Dim MatchFound  As Boolean
    
    With ActiveDocument.Range.Find
        ' The string to find
        .Text = "Hello world, all is good"
        
        ' Search the document
        Do While .Execute
            ' Capture the string
            Set StringRange = .Parent.Duplicate
            
            With .Parent.Duplicate.Find
                ' The word to find
                .Text = "all"
                .Font.Bold = True
                
                ' Search the string
                If .Execute Then
                    MatchFound = True
                    StringRange.Select
                    
                    If MsgBox("Match found. Continue searching?", vbQuestion + vbYesNo) = vbNo Then
                        Exit Sub
                    End If
                End If
            End With
        Loop
        
        If MatchFound Then
            MsgBox "Finished searching document", vbInformation
        Else
            MsgBox "No match found", vbInformation
        End If
    End With
End Sub
2021-11-20 20:55:18

哇。 谢谢你这么多。 这正是我想做的事。 这是令人难以置信的慷慨了你写的代码来是这样。 谢谢你。 我很惊讶这个问题不会出现更多的定期。 再次感谢你。 这是绝对完美。
Jezza

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................