2014-11-25 3 views
0

У меня есть документ ms-word, где Helvetica 13.5 является основным шрифтом для абзацев. К сожалению, он не привязан к какому-либо определенному заранее определенному стилю в документе (текст был скопирован в документ с веб-сайта). Кроме того, вы увидите встроенные в абзацы несколько слов, выделенных курсивом, и некоторые слова, которые являются «Courier New».Программно изменить определенный шрифт + размер на другой шрифт + размер

Что я хотел бы сделать, это пройтись по документу, ища фрагменты текста, которые имеют один шрифт/размер. Если этот текст Helvetica 13.5, я хотел бы изменить его на Times New Roman 12. Я не хочу менять встроенный курьер new. Курсивные слова должны оставаться курсивом (но их шрифт должен измениться, если это Helvetica/13.5)

Есть ли «простой» способ сделать это?

Благодаря

ответ

0

Я не знаю, как это сделать программно, но я знаю, что Слово имеет возможность найти и заменить на основе форматирования. Вот как вы это делаете:

  • В вашем документе для Windows сделайте Ctrl-G, для Mac сделайте Command-Option-G. Это потянет окно Go To.
  • Выберите вкладку «Замена»
  • На вкладке «Замена» вы должны увидеть для Windows «Подробнее >>», для Mac «v» (стрелка вниз). Нажмите эту кнопку, чтобы поднять дополнительные функции.
  • Теперь выберите формат, который вы ищете, нажав кнопку формата внизу.
  • Чтобы выбрать нужный новый формат, выберите текстовое поле «Заменить на», а затем сделайте то же, что и на предыдущем шаге. Ваши параметры должны отображаться ниже соответствующего текстового поля.
  • Когда все готово, нажмите Заменить все

Примечание: хранить текстовые поля пустыми, если вы хотите заменить только текст соответствия на основе форматирования

0
Sub Helv_to_TNR 

With ActiveDocument.Content.Find 
.ClearFormatting 
.Replacement.ClearFormatting 
.Wrap = wdFindContinue 
.format = True 
.MatchCase = False 
.MatchWholeWord = False 
.MatchWildcards = False 
.MatchSoundsLike = False 
.MatchAllWordForms = False 
.Text = "" 
.Replacement.Text = "" 
.Font.Size = 13.5 
.Replacement.Font.Size = 11 
.Font.Name = "Helvetica" 
.Replacement.Font.Name = "Times New Roman" 
.Execute Replace:=wdReplaceAll 
end with 

end sub 
Смежные вопросы