2013-12-02 6 views
1

Я составил этот код в Слове и выскакивает:Изменение шрифта в слове

Compile error: Expected: expression

Это происходит, когда я меняю

.Font.Name <> "Times New Roman" 

Вот код:

Public Sub ChangeFonts() 
SelectAllInstancesOfStyle ("Normal") 
    With Selection.Find 
    ' Clear all previously set formatting for Find dialog box. 
    .ClearFormatting 
    ' Set font to Find for replacement. 
    .Font.Name <> "Times New Roman" 

    ' Clear all previously set formatting for Replace dialog box. 
    .Replacement.ClearFormatting 
    ' Set font to Replace found font. 
    .Replacement.Font.Name = "Verdana" 
    ' Don't find or replace any text. 
    .Text = "" 
    .Replacement.Text = "" 
    ' The following parameters must be set as follows 
    ' to find only text formatted for the specified font. 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = True 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
    End With 
    ' Perform the find and replace. 
    Selection.Find.Execute Replace:=wdReplaceAll 
End Sub 
+0

Это не имеет никакого смысла. Что это значит? – SLaks

+0

@SLaks Я хотел бы изменить шрифты, которые не являются временным новым римским, в Вердану. – user2830554

+0

Я не думаю, что 'Find' поддерживает это. 'Font.Name' - это обычное свойство, которому может быть присвоено одно значение. – SLaks

ответ

0

Вот пример для изменения шрифта по пунктам:

Sub sof20319889ChangeFontsByParagraphs() 
    Dim i As Long, objParag 
    i = 0 
    For Each objParag In ActiveDocument.Paragraphs 
    'Debug.Print i & ": " & objParag.Range.Font.Name 
    If (objParag.Range.Font.Name <> "Times New Roman") Then 
     objParag.Range.Font.Name = "Verdana" 
    End If 
    i = i + 1 
    Next 
End Sub 
Смежные вопросы