Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2013, 14:01   #1
lion78
 
Регистрация: 27.12.2012
Сообщений: 6
По умолчанию В тексте всю латиницу отформатировать курсивом

Добрый день! Подскажите, пожалуйста! есть текст, в котором встречаются слова и отдельные символы в латинице (формулы). Нужен макрос, который всю латиницу в тексте выделит курсивом. Подскажите, пожалуйста, как это можно реализовать. Заранее благодарен!
lion78 вне форума Ответить с цитированием
Старый 04.01.2013, 15:35   #2
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

  1. Откройте окно Найти и заменить;
  2. поставьте флажок Подстановочные знаки;
  3. в поле Найти скопируйте и вставьте этот текст:
    [A-z]
  4. поставьте курсор в поле Заменить - Формат (кнопка в нижнем левом углу) - Шрифт... - выберите курсив - OK;
  5. Заменить все.
Скрипт вне форума Ответить с цитированием
Старый 04.01.2013, 15:51   #3
lion78
 
Регистрация: 27.12.2012
Сообщений: 6
По умолчанию

Спасибо! большое!
lion78 вне форума Ответить с цитированием
Старый 04.01.2013, 16:17   #4
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

Если часто нужно это делать, то можно использовать макрос:
Код:
Sub Procedure_1()

    Dim myFindRange As Word.Range
    Dim myFind As Word.Find
    
    'Создаём диапазон, в котором будем искать.
    'ActiveDocument.Range - это основной текст в документе.
    'Есть ещё колонтитулы, сноски и другое.
    Set myFindRange = ActiveDocument.Range
    
    'Создаём объект "Find" и даём ему имя "myFind".
    Set myFind = myFindRange.Find
    
    'Указываем, какой текст ищем.
    myFind.Text = "[A-z]"
    
    'Флажок "Подстановочные знаки".
    myFind.MatchWildcards = True
    
    'Курсив является форматированием.
    myFind.Format = True
    
    'Указываем, что сделать с найденным текстом.
    myFind.Replacement.Font.Italic = True
    
    'Производим поиск и замену.
    myFind.Execute Replace:=wdReplaceAll
    
End Sub
Примечание

Поиск ведётся в объекте Range, поэтому взаимосвязи с окном "Найти и заменить" нет.
Скрипт вне форума Ответить с цитированием
Старый 08.01.2013, 13:27   #5
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 906
По умолчанию

Строку поиска [A-z] нужно заменить на эту:
[A-Za-z]

Оказывается между латинскими буквами есть ещё другие символы.
Скрипт вне форума Ответить с цитированием
Старый 18.01.2013, 17:15   #6
workman777
Новичок
Джуниор
 
Регистрация: 17.01.2013
Сообщений: 6
По умолчанию

Можно по Ctrl + H в строчке "Найти" в настройках шрифта выбрать Язык/английский. В строчке замены выбрать только форматирование - курсив.
Сработает легко и быстро, без макросов даже
workman777 вне форума Ответить с цитированием
Старый 18.01.2013, 18:07   #7
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Да и записать можно. Но сработает лишь при том, что латиница действительно вся английская!
Цитата:
Сообщение от lion78 Посмотреть сообщение
всю латиницу
Sasha_Smirnov вне форума Ответить с цитированием
Старый 27.10.2020, 08:50   #8
can-do
Новичок
Джуниор
 
Регистрация: 26.05.2018
Сообщений: 3
По умолчанию

Ребят, похожая ситуация, но текст добавляется... Хочется задать форматирование в начале, а потом не думать об этом.

Как бы создать список терминов, (например теарус) и задать ему форматирование, чтобы все входжения терминов автоматически получали нужно е форматирование.

Для конкретики, я перевожу тексты с китайские терминами и хочу их произношение сделать курсивом. Поэтому ручное форматирование не подходит. Хочу чтобы любое вхождение термина в документе, ворд сам курсивил (текст большой — книга)

Пример текста:

From the perspective of existence, Zhouyi considers everything in the world as having a taiji, and purports the universe as a whole to also be a taiji.
can-do вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перекодировка с кириллицы на латиницу asiks1 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 14.05.2012 18:47
Как перевести двичный код в латиницу Девушка 17 Помощь студентам 8 23.08.2011 13:37
изменить криллицу на латиницу assasinukraine Общие вопросы C/C++ 3 25.12.2010 23:51
Правильно отформатировать... cherry_lady Microsoft Office Excel 0 25.03.2009 12:46
Как преобразовать русские буквы в латиницу? Alexander_Gr Microsoft Office Excel 8 03.12.2007 19:49