शब्द VBA - खोजने के लिए एक पाठ स्ट्रिंग है, जहां एक एक शब्द नहीं है (सभी शब्दों में स्ट्रिंग) है एक विशेष शैली या स्वरूप

0

सवाल

मैं कोशिश कर रहा था का निर्माण करने के लिए कुछ कोड के लिए पाठ के लिए खोज जहां एक शब्द के पाठ के भीतर एक विशेष स्वरूप या शैली. उदाहरण के लिए, मैं के लिए खोज करना चाहते पाठ "हैलो दुनिया, सब अच्छा है" लेकिन केवल मारा उदाहरणों जहां शब्द "सभी" बोल्ड में है.

मैं के बारे में सोचा के लिए खोज के पहले कुछ शब्दों में, "नमस्ते विश्व "; टूट चयन, खोज अगले तीन अक्षर आगे के लिए शब्द "सभी" में बोल्ड; टूट चयन (यदि सच है) तो खोज के अगले बिट के लिए शब्द " अच्छा है।" इस परिणाम होगा की पहचान करने में पूरे वाक्यांश के साथ बोल्ड शब्द है, लेकिन यह लगता है वास्तव में अक्षम नहीं है और बहुत लचीला है । यह भी करने के लिए, का चयन करें तो पूरे वाक्य है, मैं कोड लिखने के लिए स्थानांतरित करने के लिए चयन शुरू करने के लिए वापस और विस्तार का चयन, आगे. तो मैं की जरूरत है पुनर्स्थापित करने के लिए खोज करने के लिए आगे जारी रखने से स्थिति यह है कि.

वहाँ कुछ आसान/आसान/अधिक सुंदर तरीके से करने के लिए एक स्ट्रिंग के लिए खोज जहां केवल एक शब्द स्ट्रिंग के भीतर विशिष्ट गुण की तरह बोल्ड? मैं विशेष रूप से चाहते हैं की खोज की अनदेखी करने के लिए उदाहरण के वाक्यांश जहां प्रासंगिक शब्द नहीं है बोल्ड में.

मैं कुछ घंटे बिताए गूगल खोज और 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ý
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में