Статьи из блога
Быстрый ввод текста с помощью команды =rand()
О такой полезной команде =rand() я уже писал в заметке “Глюки”, “пасхальные яйца” или служебные команды Word.
Но вручную вводить эту команду не всегда бывает удобно. Поэтому лучше иметь ее всегда под рукой, а точнее - иметь ее добавленной в контекстное меню, вызываемое по щелчку правой кнопкой мыши. Тогда не придется вспоминать ее синтаксис и вводить руками:

Если вы хотите добавить эту команду в контекстное меню, откройте ваш шаблон Normal.dot (Normal.dotm) в редакторе Word и/или вызовите редактор Visual Basic с помощью комбинации клавиш «Alt»+«F11». Затем перейдите на проект шаблона и вставьте новый модуль для макросов.
В окне редактирования кода вставьте следующий код:
'Макросы для работы с контекстным меню
'Объявляем переменные глобальные для данного модуля
Dim cb As CommandBar
Dim cbb As CommandBarButton
Dim cbc As CommandBarControl
Sub insRand()
'Вставка команды "=rand()" в контекстное меню
CustomizationContext = NormalTemplate
Set cb = CommandBars("text")
Set cbc = cb.FindControl(Tag:="rand")
If Not cbc Is Nothing Then Exit Sub
Set cbb = cb.Controls.Add(msoControlButton, , , 1)
With cbb
.Caption = "=rand() - образец текста"
.FaceId = 488
.Tag = "rand"
.OnAction = "rand" 'вызываем макрос ввода команды (приведен ниже)
End With
End Sub
Sub rand()
'Макрос ввода команды "=rand()"
Selection.TypeText Text:="=rand()"
SendKeys "{ENTER}"
End Sub
Sub resetContextMenu()
CustomizationContext = NormalTemplate
Set cb = CommandBars("text")
cb.Reset
End Sub
После вставки данного кода выполните первую процедуру "insRand". Команда "=rand()" появится в контекстном меню.
Если вы захотите восстановить контекстное меню до первоначального состояния, то выполните третью процедуру "resetContextMenu".
Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:
Создание макроса из готового кода
Метки: =rand() | автоматизация | контекстное меню | макросы | служебные команды
Просмотров: 25780
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 3 способа очистки списка недавно открытых документов
- Абзац с цветным фоном
- Автоматическая запись макроса
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Быстрая смена ориентации страниц документа
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Ввод часто повторяющихся фрагментов текста
- Вставка будущей даты
- Вставка документа с книжной ориентацией в документ с альбомной ориентацией
- Вставка завтрашней даты
- Вставка изображений из указанной папки для Word 2007
- Вставка неформатированного текста
- Вставка скопированного текста в предопределенном формате
- Вставка текста с полями в нижний колонтитул
- Вставка текста с помощью кнопки
- Выделение видимой части экрана
- Двойная нумерация страниц в документе
- Задать обтекание текстом для всех рисунков в документе
- Замена жаргонных слов в тексте
- Замена знаков абзаца на пробелы в выделенном тексте
- Замена текста в скобках на пробел
- Запрет на распечатку документов с чужого компьютера

Форум
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 1
А можно ли как-то исхитриться создать псевдотекст в другом документе? Хранить нужный макрос в Normal.dot не всегда удобно. А SENDKEY передает код клавиши в активное окно. И если в макросе последовательно
oDocNEW.Selection.TypeText "=rand(10,5)" SendKeys "{ENTER}"то текст =rand(10,5) выводится в документе oDocNEW, а Enter - в том документе, откуда вызывался макрос (или в редакторе, если запускался из него).