1

Тема: Заглавная буква

Есть макрос, по которому в документ вставляется определенное сочетание букв. Как сделать, чтобы после него автоматически печаталось с заглавной буквы?
Примерно так:
Антон: А я не знаю.

2

Re: Заглавная буква

Например, активируя параметр шрифта "Все прописные" следующей буквы. Вот пример для текста "Антон: а я не знаю": 

    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Wrap = wdFindStop
        .Forward = True
        .MatchWildcards = True
        .Text = ": [А-ЯЁа-яё]"
        .Format = True
        .Replacement.Font.AllCaps = True
        .Execute Replace:=wdReplaceAll
    End With
Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Заглавная буква

Я так понимаю, этим макросом надо "проходиться" по уже набранному тексту? А можно сделать так, чтобы по умолчанию после двоеточия и пробела, к примеру, с большой буквы текст начинался?

4

Re: Заглавная буква

Гостья пишет:

Я так понимаю, этим макросом надо "проходиться" по уже набранному тексту?

Да.

Гостья пишет:

А можно сделать так, чтобы по умолчанию после двоеточия и пробела, к примеру, с большой буквы текст начинался?

Стандартными инструментами, по-моему, нет. Есть только:
- параметр автозамены "Делать первые буквы предложений прописными"
- в список автозамены можно добавлять только целые слова, т.е. если добавить ": а" заменять на ": А", то сработает только при наборе текста ": а я не", но не при ": азбука".
Может форумчане еще что придумкают...

Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: Заглавная буква

Вождь пишет:

параметр автозамены "Делать первые буквы предложений прописными"

Да стоит оно, но там есть макрос, который вставляет имя автора реплики+двоеточие+пробел, после чего Ворд, видимо, перестает воспринимать то, что печатается после вставки, как отдельное предложение.

6

Re: Заглавная буква

Гостья пишет:

есть макрос, который вставляет имя автора реплики+двоеточие+пробел

В Ворд автозамена на заглавную в начале предложения происходит только после сочетания символов: "."+пробел, "!"+пробел, "?"+пробел.

Если уж есть макрос, то его и надо доработать, в плане заглавных букв. Бросьте код...

Макросы под заказ и готовый пакет - mtdmacro.ru

7

Re: Заглавная буква

Он простенький. wink
Application.Keyboard (1049)
    Selection.TypeText Text:="М.: "

8

Re: Заглавная буква

Так этот код, что используется как вспомогательный при ручном наборе текста? Если так, то проще нажать кнопку Shift  cool .

Если же код используется для правки уже готового текста, то добавьте в конце строку:

Selection.Range.Case = wdTitleWord
Макросы под заказ и готовый пакет - mtdmacro.ru

9

Re: Заглавная буква

Вождь пишет:

Так этот код, что используется как вспомогательный при ручном наборе текста? Если так, то проще нажать кнопку Shift  cool .

Да, при наборе. Кнопку Shift , честно сказать, просто лень нажимать - я от нее отвыкла уже. wink Поэтому и хотелось автоматизировать.
Ну, и там еще нюанс - в некоторых случаях пишется текст с большой буквы, в других - с маленькой (там другое сочетание букв), чтоб не вспоминать каждый раз. smile Ну, и просто любопытно, можно ли это сделать и как.
Кстати, а как очистить форму поиска-замены? А то у меня там еще кое-что меняется?

Отредактировано Гостья (28.10.2010 07:27:50)

10

Re: Заглавная буква

Гостья пишет:

....как очистить форму поиска-замены...

При следуещем запуске диалог поиска будет пуст:

Public Sub Find_DialogReset()
' сброс праметров стандартного диалога "Найти и заменить"
    
    ' диалог
Dim D As Word.Dialog

    Set D = Application.Dialogs(wdDialogEditFind)
    ' параметры
    D.Find = "" ' найти
    D.Replace = "" ' заменить
    D.Direction = 0 ' направление: 0-вперед, 1-назад, 2-везде
    D.MatchCase = False ' учитывать регистр
    D.WholeWord = False ' слова целиком
    D.PatternMatch = False ' подстановочные знаки
    D.SoundsLike = False ' произносится как
    D.Format = False ' поиск формата
    D.Wrap = 0 ' край: 0-прервать, 1-продолжить, 2-спросить
    D.FindAllWordForms = False ' все словоформы
    '...
    ' обновление
    On Error Resume Next
    D.Execute
    
End Sub
Макросы под заказ и готовый пакет - mtdmacro.ru

11

Re: Заглавная буква

Что-то оно у меня то работает, то не работает. sad Не могу разобраться.