2017-02-12 14 views
0

Я пытаюсь использовать макрос Word для поиска и замены некоторого текста. Часть моего первоначального текста выделена курсивом (наша тетрадь), и я хочу, чтобы вместо текста замены вместо этих курсивых слов в кавычках («Наша тетрадь») были выделены курсивом и удалены курсивом. Мой «плохой» код показан ниже. Есть ли простое решение для этого?Котировки в макросах Word

Selection.Find.ClearFormatting 
Selection.Find.Replacement.ClearFormatting 
With Selection.Find 
    .Text = "From Our Notebook" 
    .Replacement.Text = "From "Our NoteBook"" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = False 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 
+1

Возможный дубликат [Как поместить двойные кавычки в строку в vba?] (Http://stackoverflow.com/questions/9024724/how-do-i-put-double-quotes-in-a-string -in-vba) – Orphid

+0

Спасибо, Орфид. Я посмотрел, что другой пост, но я не понял их рекомендуемое решение, или это не сработало для моего дела. – user2216370

+0

Использование 'Chr (34)' будет выглядеть так: '.Replacement.Text =" From "& Chr (34) &" Out NoteBook "& Chr (34)'. –

ответ

0

Я считаю, что я понял это. Решение состоит в том, чтобы использовать две двойные кавычки, чтобы указать вывод одиночной двойной кавычки. Поскольку они должны войти в набор двойных кавычек (например, .Replacement.Text = "From" "Our NoteBook" ""), вы получите много кавычек!