Word document, Specifieke tekst in Word-tabel vetgedrukt maken

Status
Niet open voor verdere reacties.

remcop1989

Gebruiker
Lid geworden
29 mrt 2012
Berichten
492
Wij maken in ons "ERP-systeem" offertes. Deze "rollen uit het systeem" in Word formaat.
Onderdeel van de offerte is een tabel met artikelen, aantallen en prijzen.
Zie bijlagen voor een voorbeeld.

In deze tabel staat bij een specifiek artikel de tekst:
Wenn die Container NIECE besenrein sind, berechnen wir € 25, - pro Container

Deze staat bij het artikel "99SC".
Enkel deze bovenstaande zin wil ik opmaken: vetgedrukt en rode kleur.

Ik heb dit al geprobeerd met volgende codes:

Code:
Sub vetgedrukt()

With ActiveDocument.Content.Find
    .Text = "wenn die Container NICHT besenrein sind, berechnen wir € 25,- pro Container"
    .Forward = True
    .Execute
        If .Found = True Then
        MsgBox (.Text)
        Else: MsgBox ("not found")
        End If
End With

End Sub

En deze:
Code:
Sub vetgedrukt2()
' With Selection.Find
'        .ClearFormatting
'        .Text = "- wenn die Container NICHT besenrein sind, berechnen wir € 25,- pro Container"
'        .Wrap = wdFindContinue
'        .Execute
'        Selection.Delete
'End With

End Sub

Wie helpt mij naar de oplossing?
 

Bijlagen

  • Testofferte macro vetgedrukt.doc
    55 KB · Weergaven: 21
Dag remcop1989 !

Probeer deze eens.
Code:
Sub ChangeToBold()
Dim myRange As Range, rFormat As Range, t, r, c
For t = 1 To ThisDocument.Tables.Count
    For r = 1 To ThisDocument.Tables(t).Rows.Count
        For c = 1 To ThisDocument.Tables(t).Rows(r).Cells.Count
            If InStr(ThisDocument.Tables(t).Rows(r).Cells(c).Range.Text, "NIECE") > 0 Then
                Set myRange = ThisDocument.Tables(t).Rows(r).Cells(c).Range
                Set rFormat = ThisDocument.Range(myRange.Start + 17, myRange.End - 1)
                rFormat.Bold = True
            End If
        Next
    Next
Next
End Sub
Grtz,
MDN111.
 
Een beetje late reactie, maar ik krijg hem niet aan de praat.
De code doet helemaal niets.
 
Rood zit er niet bij:
Code:
Dim myRange As Range, rFormat As Range, t As Integer, r As Integer, c As Integer
    For t = 1 To ThisDocument.Tables.Count
        For r = 1 To ThisDocument.Tables(t).Rows.Count
            For c = 1 To ThisDocument.Tables(t).Rows(r).Cells.Count
                If InStr(ThisDocument.Tables(t).Rows(r).Cells(c).Range.Text, "NIECE") > 0 Then
                    Set myRange = ThisDocument.Tables(t).Rows(r).Cells(c).Range
                    Set rFormat = ThisDocument.Range(myRange.Start + 17, myRange.End - 1)
                    rFormat.Bold = True
                    rFormat.Font.ColorIndex = wdRed
                End If
            Next
        Next
    Next
 
@ remcop1989

Bij mij werkt de macro wel, in die zin dat de gewenste zin van normal font in bold font gezet wordt. Het omzetten naar rode kleur ben ik vergeten. M'n excuses daarvoor.

@ OctaFish

Bedankt voor de correctie.

Grtz,
MDN111.
 
Code:
Sub M_snb()
   With Selection.Find
        .Replacement.Font.Color = 255
        .Replacement.Font.Bold = True
        .Execute "tekst", , , , , , -1, 1, -1, "tekst", 2
    End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan