(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Календарь Word (download)

Источник: wordexpert
Антон Кокин

Можно ли в Word сделать маленький календарик, который можно было бы вызывать по кнопке на панели инструментов? Наподобие такого, как в Excel или как в 1С?

Можно. В зарубежном интернете есть отличная статья Мартина Грина на эту тему: A Pop-up Calendar for Word.
Мартин разрешил мне воспользоваться его опытом и опубликовать эту статью на моем сайте. Но переводить всю статью не имеет смысла: она большая и подробная; я лишь изложу ее основные моменты. В итоге, мы должны получить примерно вот такой календарь:

Календарь Word

Для тех, кто не хочет самостоятельно создавать календарь, в конце заметки я дам ссылку на шаблон с созданным по этой заметке календарем. Вам останется лишь загрузить его на свой компьютер.
Те же пользователи, кто работает с основном с таблицами Excel, могут найти аналогичную статью на сайте PlanetaExcel.ru.

Итак, приступим.

  1. Во-первых, создайте пустой документ Word и сохраните его как шаблон под именем WordPopupCalendar.dot. Безусловно, можно создать календарь и в глобальном шаблоне Normal.dot, чтобы он был всегда доступен, но в этот раз мы создадим новый шаблон. В дальнейшем, это позволит вам передавать ваш шаблон с календарем своим друзьям и коллегам, а доступность календаря мы обеспечим размещением шаблона в папке автозагрузок редактора Word.
  2. Далее, откройте редактор Visual Basic с помощью сочетания клавиш "Alt"+"F11". Появится пустое окно редактора. Нажмите клавишу "F7", чтобы перейти к окну кода.
  3. Теперь мы должны создать сам календарь в виде появляющегося окошка. Для этого в меню Insert выберите команду UserForm. Откроется пустая форма диалогового окна с панелью инструментов Toolbox:
  4. Щелкните по заголовку панели Toolbox. Скорее всего, на панели отсутствует иконка для создания календаря. В этом случае следует выбрать в меню Tools команду Additional Controls. Откроется диалоговое окно, в котором найдите и установите флажок у элемента Элемент управления Календарь 11.0, как на рисунке ниже:
    Additional Controls

    Если у вас англоязычная версия редактора Word, то этот элемент будет называться Calendar Control 11.0 (номер зависит от версии редактора).

  5. Щелкните указателем мыши на появившемся на панели Toolbox элементе Calendar и нарисуйте на форме квадрат, чтобы календарь занял всю форму. Впрочем, можете и уменьшить его размеры. Как вам будет угодно. Получится примерно так:
    UserForm1
  6. Теперь можно настроить свойства календаря, в частности, его внешний вид. Как вы можете видеть, календарь использует краткую форму вывода даты, что не очень красиво и удобно. Изменим это. В панели свойств (Properties - Calendar1) щелкните на правой ячейке строки (Custom):
    Properties

    Откроется диалоговое окно Property Pages. Измените в нем значения на те, которые показаны на скриншоте ниже, и нажмите кнопку Применить, а затем закройте окно:

    Propertiy Pages
  7. Щелкните на заголовке формы, а затем в панели ее свойств измените значение строки (Name) "UserForm1" на значение "frmCalendar", а значение строки Caption "UserForm1" на значение "Календарь - Выберите дату". Заголовок нашей формы изменится.

    Собственно, сам календарь уже готов. Но он практически бесполезен. Поэтому добавим календарю функцию выбора даты и вставки ее в документ.

  8. Для начала установим возможность закрывать форму календаря по нажатию клавиши "Esc", как альтернативу кнопке в правом верхнем углу окна. Иногда это удобнее. Поместим прямо на календарь кнопку, выбрав ее с панели Toolbox (кнопка называется CommandButton). Кнопка сама по себе будет скрыта от пользователя, но на этапе разработки мы видим ее контуры.
  9. В панели свойств кнопки (она должна быть в данный момент выделена у вас) измените значение строки (Name) "CommandButton1" на значение "cmdClose", а значение строки Cancel "false" на значение "True"
  10. Дважды щелкните по контуру вашей кнопки (или нажмите клавишу "F7"), чтобы перейти в окно кода и между строками кода введите: Unload Me . Итоговый код должен выглядеть так:
    Private Sub cmdClose_Click()
    Unload Me
    End Sub

    Все, теперь форма будет закрываться, если пользователь нажмет клавишу "Esc".

  11. Теперь напишем код для вставки выбранной даты в документ. Для этого в раскрывающемся списке панели свойств выберите строку Calendar1 Calendar :
    Properties

    Календарь будет выделен на форме (появится рамка). Дважды щелкните по ней мышью, чтобы перейти в окно кода к созданной процедуре. Введите между двумя существующими операторами следующий код:

    Selection.Text = Format(Calendar1.Value, "dd mmmm yyyy") & " Рі. "
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Unload Me

    Итоговый код должен выглядеть так:

    Private Sub Calendar1_Click()
    Selection.Text = Format(Calendar1.Value, "dd mmmm yyyy") & " г. "
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Unload Me 
    End Sub

    Этот код вствляет выбранную дату из календаря в место, где находится курсор ввода в документе, а затем курсор ввода перемещается на 1 символ вправо (для ввода пользователем следующего текста) и форма закрывается.

  12. Чтобы при открытии календаря всегда отображалась текущая дата, ниже кода макроса Private Sub Calendar1_Click() вставьте следующий код:
    Private Sub UserForm_Initialize()
    Calendar1.Today
    End Sub
  13. Для того, чтобы календарь был доступен всегда, когда открывается документ (основанный на этом шаблоне), необходимо добавить в наш проект новый модуль и ввести соответствущий код. Для этого в меню Insert выберите команду Module. Новое (пустое) окно будет открыто в редакторе VB. Введите следующий код:
    Sub OpenCalendar()
    frmCalendar.Show
    End Sub
  14. Обязательно сохраните все изменения в макросе, нажав на кнопку Save на панели инструментов редактора Visual Basic.
  15. Календарь готов и его можно протестировать. Для этого перейдите в окно редактора Word и нажмите сочетание клавиш "Alt"+"F8". Откроется диалоговое окно Макрос. Найдите в списке макросов созданный вами макрос OpenCalendar и нажмите кнопку Выполнить. Откроется наш календарь. Выберите в нем любую дату и щелкните по ней. Дата будет вставлена в документ, а форма календаря закроется.
  16. Осталось сделать лишь одну из трех вещей: разместить кнопку на собственной панели инструментов (см.статью Как создать собственную панель инструментов), либо назначить сочетания клавиш для этого макроса (Настройка сочетаний клавиш), либо добавить команду вызова календаря в контекстное меню, вызываемое щелчком правой кнопки мыши (см.статью Как добавить свою команду в контекстное меню Word).

Если вы работаете с редактором Word 2007, то все действия по созданию календаря будут аналогичными. Разница может быть лишь в размещении кнопки макроса на панель быстрого доступа либо добавления команды в контекстное меню (см.статью Как добавить свои команды в контекстное меню в Word 2007).

Как я и обещал, вы можете скачать шаблон "Календарь Word" (форма загрузки). Распакуйте шаблон и поместите его в папку автозагрузки Word, которая примерно находится по следующему адресу на вашем компьютере: C:\Documents and Settings\Application Data\Microsoft\Word\STARTUP\ . После открытия документа (создания документа) будет доступна новая панель инструментов с кнопкой вызова календаря.

Ссылки по теме

Файлы для загрузки

В каталоге Download Вы можете найти другие полезные материалы - утилиты, программы, документацию, исходники, электронные книги. Если Вы обнаружили неработающую ссылку, пожалуйста, помогите другим посетителям и администратору каталога Download - сообщите об этом редактору.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 02.07.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Zend Studio Commercial License 1 Year Free Upgrades
SmartBear QAComplete Concurrent User Subscription License - On Premise (1 Year Subscription)
Контур.Доступ
Quest Software. Toad for SQL Server Development Suite
Allround Automation Direct Oracle Access Standard license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Программирование на Microsoft Access
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Реестр Windows. Секреты работы на компьютере
Компьютерные книги. Рецензии и отзывы
Мастерская программиста
Каждый день новые драйверы для вашего компьютера!
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100