Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/120: Рейтинг темы: голосов - 120, средняя оценка - 5.00
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194

Макрос поиска и замены букв в MS Word с верхним подчеркиванием

04.09.2009, 20:31. Показов 25348. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
мне нужно позарез написать мкрос чтобы он искал во всем документе жирные слова или буквы и заменял их на обычные буквы но уже с черточкой вверху...как сделать их обычными я знаю)))...как сделать так что бы черта поставилась на нужное место..нужно это сделать в word... ну и для power point такой не помешает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.09.2009, 20:31
Ответы с готовыми решениями:

MultiReplace - Word макрос поиска и замены текста
Добрый день. Хочу представить для обсуждения мой небольшой, но полезный макрос. Макрос предназначен для замены текста и для поиска...

Макрос поиска и замены дат в документе Word
Всем привет. Есть текстовый документ который периодически заполняется, в начале документа есть дата после неё идет запись, после снова дата...

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

43
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
06.09.2009, 20:56  [ТС]
Студворк — интернет-сервис помощи студентам
да я про то если например такое выражение дано Fdr то надо поставить над F и над r

Добавлено через 1 минуту
причем без пробелов
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
06.09.2009, 21:02
salvafion

Нет, не знаю.
Я вообще тебе и этого не написал бы, если бы код не выложили.
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
06.09.2009, 21:08  [ТС]
Busine2009, ну ясн..ну на этом огромное спасибо....ща наверное сяду со справочником и буду штудтровать VBA)))
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
06.09.2009, 21:10
Это не мне спасибо, а Abu
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
06.09.2009, 21:15  [ТС]
ну ей канешн тоже)))
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
07.09.2009, 16:37  [ТС]
Цитата Сообщение от Busine2009 Посмотреть сообщение
По поводу заголовков: содержание есть в этих методичках? Если нет, то как выравниваются заголовки: по левому краю, по ширине или по центру, да и размер шрифта какой, то есть чем заголовки отличаются от векторов?
заголовки имеют формат Зоголовка
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2009, 17:22
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub LineAboveBoldText()
  Selection.HomeKey wdStory, wdMove
  With Selection.Find
    .Font.Bold = True
    .Text = ""
    While .Execute
      If Selection.Paragraphs(1).OutlineLevel = wdOutlineLevelBodyText Then 
        Selection.Font.Bold = False
        ActiveDocument.Fields.Add Selection.Range, _
        wdFieldFormula, "\x\to(" & Selection.Text & ")",
        ActiveDocument.Fields(ActiveDocument.Fields.Count). _
        Code.Text = Trim(ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text) 
      End If
    Wend
    .ClearFormatting: .Execute 
  End With
End Sub
Перед применением макроса сделайте копию методички, потому-то всё это нездоровая штука.
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
07.09.2009, 17:29  [ТС]
он не работает(((выдает красные строки
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2009, 17:35
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub LineAboveBoldText()
  Selection.HomeKey wdStory, wdMove
  With Selection.Find
    .Font.Bold = True
    .Text = ""
    While .Execute
      If Selection.Paragraphs(1).OutlineLevel = wdOutlineLevelBodyText Then
        Selection.Font.Bold = False
        ActiveDocument.Fields.Add Selection.Range, wdFieldFormula, "\x\to(" & Selection.Text & ")", False
        ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text = Trim(ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text)
      End If
    Wend
    .ClearFormatting: .Execute
  End With
End Sub
Последний вариант, в предыдущем что-то не то.
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
07.09.2009, 17:57  [ТС]
слушай)))еще одно...нужно поставить проверку если слово больше 3 букв то не надо в нем ни чего делать))))и еще... когда жирные стоят в одном слове через букву там все таки ставится пробел(

Добавлено через 14 минут
и еще...а где здесь опереатор который отвечает именно за поиск слов а не букв?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2009, 18:28
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub LineAboveBoldText()
  Selection.HomeKey wdStory, wdMove
  With Selection.Find
    .Font.Bold = True
    .Text = ""
    While .Execute
      If Selection.Paragraphs(1).OutlineLevel = wdOutlineLevelBodyText And Selection.Range.Characters.Count < 4 Then
        Selection.Font.Bold = False
        ActiveDocument.Fields.Add Selection.Range, wdFieldFormula, "\x\to(" & Selection.Text & ")", False
        ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text = Trim(ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text)
      End If
    Wend
    .ClearFormatting: .Execute
  End With
End Sub
когда жирные стоят в одном слове через букву там все таки ставится пробел
Не знаю, что делать.
а где здесь опереатор который отвечает именно за поиск слов а не букв?
Здесь именно оператор, который просматривает не слова, а буквы. Вот, что ищет жирный текст:
Visual Basic
1
2
3
4
  With Selection.Find
    .Font.Bold = True
    .Text = ""
    While .Execute
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
07.09.2009, 18:33  [ТС]
а вот можешь описать как эти формулы вставляются в ручную подробнее.?тоесть без макроса вообще
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2009, 18:46
Честно говоря, я вообще не понимаю, что это за поле, и какое его предназначение.
Я не знаю, как вручную вставить это поле, т.к. нет параметра "to":
  1. Вставка - Поле - Категории (Формулы) - Eq
  2. Коды полей - Параметры - X() - Добавить
  3. В скобках напиши слово - Ок - Ок
Как видишь параметра "to" нет, его надо вручную вписывать.
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
07.09.2009, 18:52  [ТС]
ого а в 2007 можно с помощью этого поставит над буквой черту и еще пробелов по бокам не будет
Visual Basic
1
2
Selection.OMaths(1).Functions.Add(Selection.Range, wdOMathFunctionAcc).Acc _
        .Char = 773
это я нашел на вкладке вставка формулыи в конв=структоре есть аткая фигня как диакритические знаки...через них мож попробовать можно
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2009, 19:58
Есть заготовка - макрос для Word 2007. Одна проблема - это поля формулы. Я в 2007 не работал, а с формулами вообще никогда не работал, как убрать то, что вокруг формулы - не знаю. Может ты знаешь?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub LineAboveBoldText()
  Selection.HomeKey wdStory, wdMove
  With Selection.Find
    .Font.Bold = True
    .Text = ""
    While .Execute
      If Selection.Paragraphs(1).OutlineLevel = wdOutlineLevelBodyText And Selection.Range.Characters.Count < 4 Then
        Selection.Font.Bold = False
Selection.Cut
WordBasic.EquationEdit
Selection.OMaths(1).Functions.Add(Selection.Range, wdOMathFunctionAcc).Acc.Char = 773
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Paste
      End If
    Wend
    .ClearFormatting: .Execute
  End With
End Sub
Да и при выполнении макроса меняется имя шрифта, а размер остается. Предлагаю после выполнения макроса выделить весь текст и применить одинаковый шрифт ко всему документу.

Также этот документ не предназначен для Word 2003. Можешь сам посмотреть, что происходит с документом.
Вывод: Word 2007 имеет отличия от Word 2003 в положительную сторону.
0
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 194
07.09.2009, 20:10  [ТС]
это не коректно работает...оно в разных офисах по разному помоему будет делаться....нужно ту сдлать..он нормально работает....ну вот осталось только сделать чтоб он с разными интерфейсами из под ворда работал...чтоб и Equation тоже ставился...но это ваще как то помоему муторно....да и у меня этого Equation нет

Добавлено через 4 минуты
тоесть нужно чтоб он еще и текст из этой equation формулы сканил
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2009, 20:16
Я так понимаю, чтобы в Word 2003 отражалось нормально, нужно какое-то дополнительное программное обеспечение. Типа пакета совместимости. Посмотри в интернете, может есть такая штуковина.

А для распечатки методичек вполне подходит макрос.

К тому же можно заPDFить и все будет нормально и выглядит по-человечески, не то, что в Word 2003, ерунда какая-то.

И первой строчкой в коде сделай вот эту:
Code
1
Options.PasteSmartCutPaste = False
0
 Аватар для hijacker
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 4
12.05.2010, 21:54
Добрый день. Меня друг попросил помочь, ему надо отсортировать все слова в документе по алфавиту... Есть ли макрос для этого? Помогите пожалуйста.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
12.05.2010, 21:59
Таблица - Сортировка.
0
 Аватар для hijacker
0 / 0 / 0
Регистрация: 12.05.2010
Сообщений: 4
12.05.2010, 22:24
а если 2007 ворд?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2010, 22:24
Помогаю со студенческими работами здесь

[Microsoft Word] Cкрипт замены жирных, состоящих из заглавных букв, слов.
У меня есть файл где встречаются слова, выделенные жирным шрифтом и состоящие из заглавных букв. Жирный шрифт также встречается в среди...

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

Макрос замены картинок в word 2010
Нужно написать скрипт замены картинок на формулы, то есть есть картинка &quot;НЕ X&quot; и &quot;X&quot; нужно заменить на формулы, причем рядом с...

Макрос поиска и вывода строк, содержащих значение поиска
Здравствуйте! Есть макрос для поиска значения из ячейки А1 по всему листу и копированием строк из всех листов, содержащих это значение. ...

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru