Тема: Заглавная буква
Есть макрос, по которому в документ вставляется определенное сочетание букв. Как сделать, чтобы после него автоматически печаталось с заглавной буквы?
Примерно так:
Антон: А я не знаю.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Есть макрос, по которому в документ вставляется определенное сочетание букв. Как сделать, чтобы после него автоматически печаталось с заглавной буквы?
Примерно так:
Антон: А я не знаю.
Например, активируя параметр шрифта "Все прописные" следующей буквы. Вот пример для текста "Антон: а я не знаю":
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Wrap = wdFindStop
.Forward = True
.MatchWildcards = True
.Text = ": [А-ЯЁа-яё]"
.Format = True
.Replacement.Font.AllCaps = True
.Execute Replace:=wdReplaceAll
End With
Я так понимаю, этим макросом надо "проходиться" по уже набранному тексту? А можно сделать так, чтобы по умолчанию после двоеточия и пробела, к примеру, с большой буквы текст начинался?
Я так понимаю, этим макросом надо "проходиться" по уже набранному тексту?
Да.
А можно сделать так, чтобы по умолчанию после двоеточия и пробела, к примеру, с большой буквы текст начинался?
Стандартными инструментами, по-моему, нет. Есть только:
- параметр автозамены "Делать первые буквы предложений прописными"
- в список автозамены можно добавлять только целые слова, т.е. если добавить ": а" заменять на ": А", то сработает только при наборе текста ": а я не", но не при ": азбука".
Может форумчане еще что придумкают...
параметр автозамены "Делать первые буквы предложений прописными"
Да стоит оно, но там есть макрос, который вставляет имя автора реплики+двоеточие+пробел, после чего Ворд, видимо, перестает воспринимать то, что печатается после вставки, как отдельное предложение.
есть макрос, который вставляет имя автора реплики+двоеточие+пробел
В Ворд автозамена на заглавную в начале предложения происходит только после сочетания символов: "."+пробел, "!"+пробел, "?"+пробел.
Если уж есть макрос, то его и надо доработать, в плане заглавных букв. Бросьте код...
Он простенький.
Application.Keyboard (1049)
Selection.TypeText Text:="М.: "
Так этот код, что используется как вспомогательный при ручном наборе текста? Если так, то проще нажать кнопку Shift .
Если же код используется для правки уже готового текста, то добавьте в конце строку:
Selection.Range.Case = wdTitleWord
Так этот код, что используется как вспомогательный при ручном наборе текста? Если так, то проще нажать кнопку Shift
.
Да, при наборе. Кнопку Shift , честно сказать, просто лень нажимать - я от нее отвыкла уже. Поэтому и хотелось автоматизировать.
Ну, и там еще нюанс - в некоторых случаях пишется текст с большой буквы, в других - с маленькой (там другое сочетание букв), чтоб не вспоминать каждый раз. Ну, и просто любопытно, можно ли это сделать и как.
Кстати, а как очистить форму поиска-замены? А то у меня там еще кое-что меняется?
Отредактировано Гостья (28.10.2010 07:27:50)
....как очистить форму поиска-замены...
При следуещем запуске диалог поиска будет пуст:
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
Что-то оно у меня то работает, то не работает. Не могу разобраться.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться