Форум программистов, компьютерный форум, киберфорум
MS Office Word
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/75: Рейтинг темы: голосов - 75, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 16
1

Макрос замены шрифта

11.02.2019, 23:26. Показов 14259. Ответов 10

Author24 — интернет-сервис помощи студентам
Доброй ночи, адепты)
Вы не раз меня выручали, уповаю на вашу помощь и теперь!

Скажем есть некий текст, набранный Times New Roman-ом, и среди него встречаются слова которые почему то решили быть набраны Arial-ом. (такой документик я прилепил к сообщению)

Надо бы чтобы Ариалы не отбивались от общего настроения и тоже стали Таймсами
Это легко лечится заменой, но хотелось бы делать это нажатием одной кнопки.

Однако, когда я записываю макрос, который должен повторить мои действия по замене всех Ариалов на Таймсы, то он выглядит следующим образом и не работает. В чем же дело? помогите пожалуйста (( желательно детсадовским языком, ибо я не программист.

Спасибо)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub testing()
'
' testing Macros
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2019, 23:26
Ответы с готовыми решениями:

Оптимизировать макрос, поиска и замены
Добрый день! Подскажите можно ли как-нибудь ускорить работу макроса при большом количестве поиска...

макрос замены стиля у буквы
Помогите, бьюсь уже не первый день! Хочу, чтобы при вставке символа макрос делал замену стиля этой...

Макрос замена случайных букв одного шрифта на другой
Здравствуйте камрады. Долго искал на просторах интернета макрос, но так и не смог найти. Мб...

Почему не работает макрос изменения шрифта в не выделенном тексте
Нужно создать макрос изменения шрифта на синий полужирный для текущего абзаца, за исключением...

10
15147 / 6420 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
12.02.2019, 01:15 2
Цитата Сообщение от itwasrain Посмотреть сообщение
Это легко лечится заменой
А не легче ли выделить все, Шрифт - Times?
Visual Basic
1
  ActiveDocument.Range.Font.Name = "Times New Roman"
0
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 16
12.02.2019, 07:15  [ТС] 3
Легче, но мне нужно именно то, что я прошу.
А именно макрос для замены текста написанного одним шрифтом на замену этого текста другим шрифтом.
Потому что по тексту могут, допустим встречаться списки или цитатки набранные каким-нибудь Calibri или Courier, и им не нужно превращаться в Таймс.
0
237 / 148 / 41
Регистрация: 26.01.2019
Сообщений: 545
12.02.2019, 11:46 4
itwasrain, думаю в этой теме все написано
0
15147 / 6420 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
12.02.2019, 13:27 5
Лучший ответ Сообщение было отмечено itwasrain как решение

Решение

Цитата Сообщение от itwasrain Посмотреть сообщение
В чем же дело?
Как видите, в записанном коде нет упоминания об "Arial" и "Times New Roman". Надо добавить
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub testing()
'
' testing Macros
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Font.Name = "Arial"
    Selection.Find.Replacement.Font.Name = "Times New Roman"
    With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
1
237 / 148 / 41
Регистрация: 26.01.2019
Сообщений: 545
12.02.2019, 13:58 6
Тогда и код почистить от лишнего можно
Visual Basic
1
2
3
4
5
6
7
8
Sub ReplaceFont()
    Selection.HomeKey Unit:=wdStory
    With Selection.Find
        .Font.Name = "Arial"
        .Replacement.Font.Name = "Times New Roman"
        .Execute Replace:=wdReplaceAll
    End With
End Sub
0
1590 / 663 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
12.02.2019, 18:56 7
Цитата Сообщение от GeoCod Посмотреть сообщение
Тогда и код почистить от лишнего можно
почистили даже нужное - если пользователь производил поиск какого либо значения, либо устанавливал формат искомого/заменяемого до выполнения макроса, то результат не будет соответствовать ожиданиям
0
237 / 148 / 41
Регистрация: 26.01.2019
Сообщений: 545
12.02.2019, 21:03 8
Цитата Сообщение от Step_UA Посмотреть сообщение
почистили даже нужное
Ну, только если совсем чуть-чуть
Цитата Сообщение от itwasrain Посмотреть сообщение
Надо бы чтобы Ариалы не отбивались от общего настроения и тоже стали Таймсами
Хотя, требуемая функция выполняется. Предполагается что замена шрифтов происходит по нажатию кнопки (вызову макроса), и пользователь не ищет конкретных слов/форматов.
0
1590 / 663 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
12.02.2019, 21:09 9
Цитата Сообщение от GeoCod Посмотреть сообщение
и пользователь не ищет конкретных слов/форматов.
пользователь это такой зверь, который зачастую сам не знает, что делает/делал ))
... через время появляется тема: макрос работал, ничего не делал и фсе, не работает ))
0
237 / 148 / 41
Регистрация: 26.01.2019
Сообщений: 545
12.02.2019, 21:34 10
Step_UA, точнее и не скажешь
Что ж, ждем-с новой темы )))
0
1 / 1 / 0
Регистрация: 06.06.2018
Сообщений: 16
14.02.2019, 21:05  [ТС] 11
Всем спасибо) Все хорошие)
0
14.02.2019, 21:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2019, 21:05
Помогаю со студенческими работами здесь

Макрос замены картинок в word 2010
Нужно написать скрипт замены картинок на формулы, то есть есть картинка "НЕ X" и "X" нужно заменить...

Макрос замены с именитольного на родительный падеж
Здравствуйте! А возможно ли написать макрос для Microsoft Word, который бы автоматически в...

Макрос замены сокращений в MS Word 2003
Нужно написать макрос в ворде 2003! но никак не получается! Заменить сокращения: • <т.д. Знак...

Нужен макрос для замены обычного пробела на неразрывный
Доброго времени суток! Ребят, я долгое время давал советы и помогал студентам, осваивающим word,...

Макрос Word 2016 замена шрифта рандомных символов на выбранный - MS Word
Есть обычный текст, только буквы и цифры Нужно, чтобы после обработки макроса выбирались случайные...

Написать макрос для изменения размера шрифта и цвета шрифта
№ 1 . Создайте в рабочем листе таблицу с данными о своих друзьях , их адресами, телефонами , датами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru