Статьи из блога
Быстрый ввод текста с помощью команды =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() | автоматизация | контекстное меню | макросы | служебные команды
Просмотров: 25233
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 3 способа очистки списка недавно открытых документов
- Абзац с цветным фоном
- Автоматическая запись макроса
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Быстрая смена ориентации страниц документа
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Ввод часто повторяющихся фрагментов текста
- Вставка будущей даты
- Вставка документа с книжной ориентацией в документ с альбомной ориентацией
- Вставка завтрашней даты
- Вставка изображений из указанной папки для Word 2007
- Вставка неформатированного текста
- Вставка скопированного текста в предопределенном формате
- Вставка текста с полями в нижний колонтитул
- Вставка текста с помощью кнопки
- Выделение видимой части экрана
- Двойная нумерация страниц в документе
- Задать обтекание текстом для всех рисунков в документе
- Замена жаргонных слов в тексте
- Замена знаков абзаца на пробелы в выделенном тексте
- Замена текста в скобках на пробел
- Запрет на распечатку документов с чужого компьютера
Комментариев: 1
А можно ли как-то исхитриться создать псевдотекст в другом документе? Хранить нужный макрос в Normal.dot не всегда удобно. А SENDKEY передает код клавиши в активное окно. И если в макросе последовательно
то текст =rand(10,5) выводится в документе oDocNEW, а Enter - в том документе, откуда вызывался макрос (или в редакторе, если запускался из него).