2017-08-18 2 views
0

J'essaie de remplacer la taille de la police d'un caractère dans une chaîne spécifique.VBA changer la taille de la police d'un caractère dans une chaîne spécifique (MSWORD MACRO)

enter image description here

Celui-ci crée le mot que je veux, mais je ne peux pas l'obtenir incorporé avec une fonction de remplacement.

Sub logo() 
Selection.Collapse Direction:=wdCollapseEnd 
With Selection.Range 
.Font.Reset 
.Text = "EXAMPLE" 
.Characters(2).Font.Size = 8 
End With 
End Sub 

Celui-ci remplace le mot entier. Je ne peux pas l'incorporer avec une fonction de caractère.

Sub RedoFonts() 
    With ActiveDocument.Content.Find 
     .ClearFormatting 
     .Replacement.ClearFormatting 
     .Forward = True 
     .Wrap = wdFindContinue 
     .Format = True 
     .MatchCase = False 
     .MatchWholeWord = False 
     .MatchWildcards = False 
     .MatchSoundsLike = False 
     .MatchAllWordForms = False 
     .Text = "EXAMPLE" 
     .Replacement.Text = "EXAMPLE" 
     .Font.Size = 12 
     .Replacement.Font.Size = 9 
     .Execute Replace:=wdReplaceAll 
     .ClearFormatting 
     .Replacement.ClearFormatting 
     .Font.Name = "Times New Roman" 
     .Replacement.Font.Name = "Times New Roman" 
     .Execute Replace:=wdReplaceAll 
    End With 
End Sub 

Un moyen de fusionner ces deux?

Répondre

1

Le code suivant recherche le document actif pour la chaîne « ceci » et change la « h » en elle à une taille de police de 20.

Dim myRange As Range 

Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="this", Forward:=True 
If myRange.Find.Found = True Then 
    myRange.Find.Execute FindText:="h", Forward:=True 
    If myRange.Find.Found = True Then myRange.Font.Size = 20 
End If 
+0

est-il un moyen de mettre en œuvre ce avec un mot ms macro ? – ajd018

+0

Oups totalement raté que vous vouliez MS Word macro, ill modifier répondre en conséquence – sourceCode

+0

Qu'en est-il de cette lettre, mais seulement dans un mot spécifique? Donc, tous les – ajd018