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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2009, 14:17   #1
salvafion
 
Регистрация: 05.09.2009
Сообщений: 3
Восклицание Макрос для поиска и замены слов на слова с верхним подчеркиванием

мне нужно позарез написать макрос чтобы он искал во всем документе жирные слова или буквы и заменял их на обычные буквы но уже с черточкой вверху(автофигурой Линия)...как сделать их обычными я знаю)))...как сделать так что бы черта поставилась на нужное место..нужно это сделать в word... ну и для power point такой не помешает
salvafion вне форума Ответить с цитированием
Старый 06.09.2009, 17:52   #2
salvafion
 
Регистрация: 05.09.2009
Сообщений: 3
По умолчанию

вот немного кода
Dim i As Long
For i = 1 To ActiveDocument.Characters.Count
If ActiveDocument.Characters(i).Bold = -1 Then
ActiveDocument.Characters(i).Bold = 0
ActiveDocument.Characters(i).Select
'****
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:="EQ \x \to("
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.TypeText Text:=")"
Selection.Fields.ToggleShowCodes
Selection.MoveDown Unit:=wdLine, Count:=1
'****
End If
Next i


нужно сделать так чтоб он делал либо все слово с чертой либо не ставил пробелы такие и еще чтоб пропускал заголовки
salvafion вне форума Ответить с цитированием
Старый 06.09.2009, 20:21   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Так тебе просто черту нужно, а не автофигуру. Такое уже было на форуме. Посольку поиск на форуме работает отвратительно, то я переписал код:
Код:
Sub LineAboveBoldText()
  'Переходим в начало документа
  Selection.HomeKey wdStory, wdMove
  With Selection.Find 'Запускаем поиск жирного текста
    .Font.Bold = True
    .Text = ""
    While .Execute 'Пока поиск завершается удачно
      If Selection.Paragraphs(1).OutlineLevel = wdOutlineLevelBodyText Then 'Если найденное слово не находится в заголовке
        ActiveDocument.Fields.Add Selection.Range, wdFieldFormula, "\x\to(" & Selection.Text & ")", False 'добавляем поле EQ
        ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text = Trim(ActiveDocument.Fields(ActiveDocument.Fields.Count).Code.Text) 'Удаляем лишние пробелы
      End If
    Wend
    .ClearFormatting: .Execute 'Очищаем форматирование для поиска
  End With
End Sub
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 06.09.2009 в 20:35. Причина: Добавил проверку на заголовки
viter.alex вне форума Ответить с цитированием
Старый 07.09.2009, 17:17   #4
salvafion
 
Регистрация: 05.09.2009
Сообщений: 3
По умолчанию

а он у меня н кеработаает говорит что ошибка и зависает
salvafion вне форума Ответить с цитированием
Старый 07.09.2009, 19:14   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Почему не работает? Пример документа и текст ошибки выложи.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос пакетной замены swan1976 Microsoft Office Word 2 26.12.2009 17:48
программа поиска и замены+копирования текста 666dvg999 Общие вопросы C/C++ 4 05.10.2008 20:01
Макрос для поиска/замены Davidoff Microsoft Office Excel 1 20.01.2007 16:01