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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2011, 23:27   #1
nur91m
Новичок
Джуниор
 
Регистрация: 19.10.2011
Сообщений: 3
По умолчанию написать макрос копировать и вставить

У меня вот такая проблема. Мне нужно чтобы макрос искал текст по цвету и копировал его и вставил sub (текст) sub между этими словами. Я тут написал но не могу вставить найденного слова. Помагите написать макрос пожалуйста!

Sub ChangeColorWithReplace()

Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorRed
Selection.Find.Replacement.ClearFor matting

With Selection.Find
.Text = ""
.Replacement.Text = "sub" тут должен текст "sub"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Результат

sub текст1 sub
sub текст2 sub
sub текст3 sub
sub текст4 sub

Заранее спасибо!
nur91m вне форума Ответить с цитированием
Старый 20.10.2011, 21:33   #2
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию Заготовка. Заранее не за что

Код:
Sub Макрос1()
Selection.HomeKey wdStory   'перемещение курсора (если он вдруг не там) в начало текста
    With Selection.Find
    .ClearFormatting                    'очистка предудущего состояния текстбокса поиска
    .Replacement.ClearFormatting        'очистка предудущего состояния текстбокса замены
    .Font.Color = wdColorRed            'искомый цвет текста (здесь = 255, т. е. красный)
    .Text = ""                          'очистка окна поиска (там мог храниться текст)
    .Replacement.Text = "sub ^& sub^p"  'окно замены, где: ^& искомый текст, а ^p абзац
    .Wrap = wdFindContinue              'поиск идёт пока всё не отыщет
'А далее можно сделать цикл (поставив wdReplaceOne вместо wdReplaceAll) - чтобы не было дублей "sub "
    .Execute Replace:=wdReplaceAll      'замена по всему тексту
    .Replacement.Text = ""              'убрали мусор из диалогового окна поиска-замены
    End With
End Sub
Изображения
Тип файла: jpg до).jpg (42.9 Кб, 128 просмотров)
Тип файла: jpg после.jpg (35.9 Кб, 144 просмотров)
Sasha_Smirnov вне форума Ответить с цитированием
Старый 20.10.2011, 22:47   #3
nur91m
Новичок
Джуниор
 
Регистрация: 19.10.2011
Сообщений: 3
По умолчанию

Sasha оргомное вам спасибо.
Если вы не против не скажете как написать макрос чтобы он саделал вот так:

tema1
text1 text1 text1 text1 text1 text1 text1

tema2
'tema2', text2 text2 text2 text2 text2 text2 text2

tema3
'tema3', text3 text3 text3 text3 text3 text3 text3

INPUT VALUE ('tema1', text1 text1 text1 text1 text1 text1 text1)
INPUT VALUE ('tema2', text2 text2 text2 text2 text2 text2 text2)
INPUT VALUE ('tema3', text3 text3 text3 text3 text3 text3 text3)
nur91m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копировать вставить мемо spartan92 Общие вопросы Delphi 4 15.05.2011 13:28
Копировать и вставить из одной формы в другую scarp55 Microsoft Office Access 5 06.04.2011 16:03
Копировать текст из webbrowser в memo (включить ctrl+c ctrl+v) копировать - вставить Alar Работа с сетью в Delphi 13 12.07.2010 18:16
копировать-вставить 0mega Microsoft Office Excel 2 26.05.2010 07:30
Запрет функции копировать-вставить mihakr Microsoft Office Excel 27 10.02.2010 12:31