Основы офисного программирования и документы Word


HTML-проект и объект Script


В первой лекции этой книги я отмечал, что одной из основных тенденций развития Office 2000 является миграция в Интернет. Документы Office 2000 становятся доступными для коллективной работе в сети, и Web-страницы, видимо, станут основной формой представления документов, с которыми в ближайшем будущем будет работать массовый пользователь. Office и Интернет - наиболее перспективное и интересное направление развития офисного программирования. Но в этой книге я, к сожалению, не буду подробно рассматривать эту тему. Поэтому и разговор о новых общих объектах Script, коллекции Scripts, HtmlProject, появившихся в библиотеке Office 2000, будет носить обзорный характер.

Прежде всего, поговорим о том, откуда берутся эти объекты, как они создаются, и в каких ситуациях возникает необходимость работы с ними. Начну с последнего вопроса, - необходимость работы с этими объектами возникает только в том случае, если предполагается публиковать документы Office 2000 в Internet и предоставить пользователям возможность активной работы с этими документами. Более того, эти объекты необходимы лишь тогда, когда предполагается создание VBSript-кода "на лету". Тогда без этих объектов точно уж не обойтись. А теперь несколько слов о том, как и когда эти объекты появляются. Я коротко напомню то, что уже говорилось в первой лекции. Все документы Office 2000 могут быть сохранены в формате HTML и могут просматриваться в Internet тем или иным браузером, как Web-страницы. Конечно же, в большинстве случаев простого просмотра документов недостаточно и пользователь должен иметь возможность активной работы со страницами, производить над ней те или иные действия. Активность Web-страниц всегда предполагает выполнение некоторого программного кода. В то же время современные обозреватели (браузеры) могут выполнять код, написанный только на JavaScript или VBScript. Язык сценариев VBScript, также как и язык VBA, является членом семейства Visual Basic. В отличие от VB и VBA этот язык является бестиповым или, что тоже, языком с одним единственным типом Variant. В объявлениях переменных их тип не указывается. Во многом, язык VBScript похож на язык VBA, является событийно-управляемым, имеет многие из его встроенных функций. Так что программирование на VBScript напоминает программирование на VBA, хотя и имеет свою специфику. Программирование на VBScript ведется в среде специального Редактора VBScript, вызываемого из всех приложений Office 2000. Напомню, нажатие комбинации клавиш "ALT + F11" открывает среду Редактора VBA, а нажатие - "ALT + Shift + F11" открывает похожую среду Редактора VBScript. Работа в этом Редакторе и является основным источником появления объектов Script и, соответственно, коллекции Scripts. Всякий раз, когда в Редакторе в HTML-текст вставляется тег <Script> с соответствующим кодом, в коллекцию Scripts добавляется очередной объект Script, задающий добавленный тег. Наряду с таким обычным способом создания программного кода, возможно программирование "на лету", когда Script-код создается программно. Для этой цели можно использовать либо свойства объекта Script, либо метод Add коллекции Scripts, позволяющий добавить тег Script к тексту Web-страницы. Параметры этого метода позволяю задать сам добавляемый код, местоположение тега, его ID. Метод Delete позволяет программно удалять элементы коллекции Scripts, удаляя, тем самым, соответствующие теги. Добраться до нужного элемента коллекции можно либо по индексу, либо по ID элемента. Конечно, предпочтительнее использовать ID, а не индексы, поскольку индексы элементов коллекции могут меняться в ходе редактирования HTML-текста. По этой причине желательно всегда задавать ID у тегов Script, как при программном создании кода, так и при работе в среде Редактора VBScript.

Объект HtmlProject схож с объектом VBProject. Он используется при программном создании элементов Web-страницы и позволяет программно добраться не только до Script-кода, но и до других элементов, располагаемых на Web-странице, в частности до форм и элементов управления, расположенных на форме. На самом этом объекте я не буду останавливаться подробно, но о схожем объекте - VBProject я расскажу подробно. Оба объекта описывают программные проекты, связанные с документом. Один объект описывает проект, написанный на VBA, другой - на VBScript.

В заключение хочу все-таки дать первое представление об HTML-проекте и программировании на VBScript. Приведу один небольшой и традиционный пример "Приветствие", в котором программный проект создается на VBScript, частично руками, частично программно. Взгляните, как выглядит среда Редактора VBScript.

Редактор VBScript

Рис. 5.2.  Редактор VBScript

Я не буду останавливаться на подробном описании среды Редактора, отмечу только еще раз схожесть интерфейса при создании HTML-проекта и VBA-проекта. В левом окне Project Explorer - Обозревателя Проектов показана структура HTML-проекта. В правом окне кода показан HTML-код страницы. Окно открыто на вкладке "Source". Следующая вкладка "Quick View" позволяет осуществить быстрый просмотр страницы, увидев ее так, как она будет видна в браузере Internet Explorer. На рисунке можно увидеть и часть Script-кода, добавленного мной в проект.

Какой же код я добавил в HTML-проект, чтобы заработало традиционное приветствие? Прежде всего, я добавил тег <Script> с описанием функции Hello. Этот тег был вставлен в конец заголовка проекта непосредственно перед закрывающим тегом <Head>. Вот этот текст:




Начало  Назад  Вперед