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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2013, 17:48   #11
Seven11
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 12
По умолчанию

Скрипт, это не совсем то, что нужно. если я правильно понял, то этим способом придется опять же вручную каждый раз тыкать сначала в начало строки, а потом на кнопку на панельке? тогда это мало упрощает работу, особенно если надо расставить М. и Р. в на десятках страниц текста)
Seven11 вне форума Ответить с цитированием
Старый 11.02.2013, 17:53   #12
Seven11
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 12
По умолчанию

вариант, предложенный Казанский, решает проблему для текста вида
М. Здравствуйте...
Р. Привет
М. Вас зовут...
Р. Андрей

Но непонятно как сделать замену если текст например такой, когда М. и Р. идут вразброс:

М. Здравствуйте
Р. Привет
Р. Привет.
М. Вас зовут.
Р. ....
М. ....
Seven11 вне форума Ответить с цитированием
Старый 11.02.2013, 18:26   #13
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от Seven11 Посмотреть сообщение
Скрипт, это не совсем то, что нужно. если я правильно понял, то этим способом придется опять же вручную каждый раз тыкать сначала в начало строки, а потом на кнопку на панельке? тогда это мало упрощает работу, особенно если надо расставить М. и Р. в на десятках страниц текста)
Повесьте на макрос сочетание клавиш, и не придётся каждый раз "тыкать" мышкой
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 11.02.2013, 18:29   #14
Seven11
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Повесьте на макрос сочетание клавиш, и не придётся каждый раз "тыкать" мышкой
использовать каждый раз сочетание клавиш - почти то же самое, что и каждый раз вручную набирать М.
Seven11 вне форума Ответить с цитированием
Старый 11.02.2013, 18:39   #15
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Ну не совсем: например, на F1 и F2 повесьте "М. " и "Р. " соответственно — раза в 3 быстрее!

Метод Казанского (думаю — не проверял) подойдёт и в случае, если идущие подряд реплики одного персонажа сделать одним абзацем — при этом вторая и следующие строки предваряются нажатием не Enter (новый абзац), а Shift-Enter (разрыв строки).
Sasha_Smirnov вне форума Ответить с цитированием
Старый 11.02.2013, 19:34   #16
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от Seven11 Посмотреть сообщение
использовать каждый раз сочетание клавиш - почти то же самое, что и каждый раз вручную набирать М.
Я так понял, что вам нужна одна кнопка "Сделать всё за меня" При наборе в начале каждой строки поставьте нужную букву, чтобы потом в конце заменить её на полный вариант. Например:
мЗдравствуйте...
рПривет
мВас зовут...
рАндрей
И затем, таким макросом пройтись:
Код:
Sub Ìàêðîñ2()
    With ActiveDocument.Range.Find
        .Text = "(^13)([мр])"
        .MatchWildcards = True
        .Replacement.Text = "\1\2. "
        .Replacement.Font.SmallCaps = False
        .Replacement.Font.AllCaps = True
        .Format = True
        .Execute Replace:=wdReplaceAll
    End With
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 11.02.2013, 19:38   #17
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Seven11, тогда вам надо написать на Форуме, по какому признаку макросу отличить - что в этом абзаце нужно поставить такую-то фразу, а в другом абзаце - такую-то.

Представьте, что вы попросили сделать эту работу человека. Как бы вы объяснили человеку, что в данном случае нужно одну фразу ставить, а в другом случае - другую?
Скрипт вне форума Ответить с цитированием
Старый 11.02.2013, 21:07   #18
Seven11
Пользователь
 
Регистрация: 11.02.2013
Сообщений: 12
По умолчанию

В идеале нужен такой шаблон, чтобы после нажатия Enter сразу в начале нового абзаца автоматически ставилось "Р. ", а "М. " чтобы ставилось в результате какой-нибудь комбинации Enter+"какая-то другая клавиша".

Или другой вариант. Набрать сначала текст как обычно без всяких М. и Р. Там, где потом надо вставить М. - начинать абзац как обычно. Там, где потом надо вставить Р. - начинать абзац с пробела. Потом провести замену таким образом, чтобы перед обычным началом абзаца стояло "М. ", а перед абзацем, начинающимся с пробела - "Р. "
Seven11 вне форума Ответить с цитированием
Старый 11.02.2013, 21:09   #19
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от Seven11 Посмотреть сообщение
Или другой вариант.
Я предложил не то же самое?

Цитата:
Сообщение от Seven11 Посмотреть сообщение
В идеале нужен такой шаблон, чтобы после нажатия Enter сразу в начале нового абзаца автоматически ставилось "Р. "
К сожалению, отследить процесс набора не представляется возможным средствами VBA. Можно заморочиться через WinAPI, как тот же Пунто свитчер делает, но не стоит оно того
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 11.02.2013 в 21:11.
viter.alex вне форума Ответить с цитированием
Старый 11.02.2013, 21:11   #20
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

Seven11, а Shift + Enter вам не подходит для того, чтобы не разбивать текст на несколько абзацев?
Скрипт вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать в виде модуля набор набор подпрограмм для следующих операций со строками : 1) Процедура подсчёта кол-ва букв к в пер Richik123 Паскаль, Turbo Pascal, PascalABC.NET 12 23.09.2012 12:24
как упростить макрос Obey177 Microsoft Office Excel 4 20.08.2012 19:01
case ... of как упростить? kta87 Общие вопросы Delphi 3 29.01.2012 23:21
Как упростить формулу? АННА-ЕАО Microsoft Office Excel 7 23.12.2011 14:53
Как упростить формулу? parsn Microsoft Office Excel 1 31.01.2010 00:53