Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 семестр / vba_2002

.pdf
Скачиваний:
81
Добавлен:
09.04.2015
Размер:
9.9 Mб
Скачать

*',

В Excel 2002 такая последовательность команд приводит к отображению области

„ ^ ^ Л

задач Создание книги, поэтому вам придется выполнить дополнительные дейст-

 

вия. Они заключаются в том, чтобы в области задач выбрать нужный файл шаб-

 

лона, который также может загружаться с Web-узла компании Microsoft.

 

Если вы щелкнете на кнопке Создать, расположенной на панели инструментов, или

 

нажмете комбинацию клавиш <Ctrl+N>, то выбрать шаблон не сможете. В результа-

 

те будет создана рабочая книга с параметрами, установленными по умолчанию.

Если вы создали шаблон B o o k . x l t , то на его основе будут создаваться новые рабочие книги по умолчанию. Кроме того, можно создать шаблон S h e e t . x l t , на основе которого будут создаваться рабочие листы, добавляемые в рабочую книгу. Обратите внимание, что шаблон для листов диаграмм создать нельзя, поскольку программа Excel управляет шаблонами диаграмм несколько по-другому, чем шаблонами рабочих листов.

В локальном компьютере шаблоны могут сохраняться в нескольких местах.

• В папке Xlstan. Именно здесь хранятся автоматически подключаемые шаблоны Book. x l t и S h e e t . xl t. Кроме того, в эту папку можно помещать другие шаблоны рабочих книг.

• В папке Templates. Здесь хранятся те шаблоны рабочих книг, названия которых отображаются в диалоговом окне создания документа.

Местоположение папки Templates зависит от используемой версии Excel. Чтобы &*** найти его, выполните следующий оператор VBA;

'^Ш MsgBox Application.TemplatesPath

Файлы панелей инструментов

Конфигурации панелей инструментов я строки меню хранятся программой Excel в файле с расширением XLB. Когда пользователь завершает работу с Excel 2002, текущая конфигурация сохраняется в файле E x c e l l O . x l b . Точное расположение и имя этого файла зависят от используемой версии Excel; сам файл вы найдете, выполнив на жестком диске поиск по расширению * . x l b . В этом файле находятся данные о расположении и состоянии всех панелей инструментов (включая пользовательские) и строк» меню, а также данные об изменении встроенных панелей инструментов и меню.

Перечень имен и путей расположения файлов XLB, используемых различными версиями Excel, можно найти в справочной системе программы Excel 2002. Эту информацию отыскивайте по ключевому слову x l b .

Файлы надстроек

Надстройка — это файл рабочей книги, имеющей несколько важных особенностей.

Если в надстройке свойство I s A d d i n имеет значение True (да), то воспользуйтесь командой Сервис^Надстройки.

Надстройка считается скрытой рабочей книгой, и отобразить ее в окне Excel пользователь не сможет. Следовательно, надстройка никогда не бывает активной рабочей, книгой.

Рабочая книга надстройки не входит в коллекцию Workbooks (Рабочие книги).

Многие надстройки дополняют программу Excel новыми возможностями и функциями. Эти новые возможности настолько легко использовать; их порой невозможно отличить от встроенных средств программы.

ЧастьI. ВведениевExcel

89

На основе файлов рабочих книг вы можете создать собственные надстройки. Следует отметить, что отдельные приложения Excel, распределяемые среди пользователей, предпочтительно создавать в виде надстроек. По умолчанию для надстроек используется расширение XLA, но вы можете применять любое необходимое расширение.

В Excel поддерживаются не только надстройки в формате XLA, но также XLL и (начиная с Excel 2000) СОМ. Надстройки двух последних типов создаются не в Excel. Что же касается нашей книги, то в ней обсуждаются лишь надстройки XLA.

Подробно о надстройках рассказывается в главе 21.

Excel и HTML

HTML— это язык World Wide Web. При просмотре документов в ней, помните, что загружаемые вашим броузером данные обычно имеют формат HTML. HTML-файл состоит из текстовой информации и специальных дескрипторов, задающих форматирование текста. Броузер интерпретирует дескрипторы, выполняет по ним форматирование данных и отображает конечный результат на экране.

Если говорить об Excel 2000 и более поздних версиях, то в них HTML можно использовать в качестве "родного" формата файлов. Другими словами, рабочую книгу можно сохранить в формате HTML, а затем открыть полученный HTML-файл в Excel, и он будет выглядеть точно так же, как перед сохранением, Вся информация, специфичная для данных Excel (например, макросы, диаграммы, сводные таблицы и параметры рабочих листов), теоретически остается неизменной. HTML является относительно простым форматом файлов, Правда, утверждение, что рабочая книга Excel может выдержать подобное "преобразование" без потерь данных, является лишь теоретическим обоснованием, но никак не фактом.

Конечно, на использование HTML в качестве "родного" формата файлов могут решиться только весьма доверчивые пользователи, поскольку разработчики Microsoft, на наш взгляд, больше разрекламировали предоставленную нозможность, чем "довели ее до ума". В реальных проектах, если не считать редких исключений, пользы от применения HTML будет немного.

Так как же это работает?

Лучший способ понять, каким образом Excel может использовать HTML в качестве "родного" формата файлов— это провести небольшой творческий эксперимент. Начните с

 

 

создания рабочей книги, содержащей только один рабочий лист.

 

 

Введите в него несколько значений и формул, выполните простое

 

 

форматирование, а затем сохраните рабочую книгу в формате

 

 

HTML. Для этого используйте команду Файл ^Сохранить как веб-

 

 

страницу, при этом обязательно выставьте переключатель всю

 

 

книгу. На рис. 4.1 показана простая рабочая книга, в которую введе-

а.

.

но Дв а значения и одна формула, причем в ячейке с формулой задано

в формате HTML

 

форматирование полужирным начертанием. Эта рабочая книга по-

 

 

мохсет нам в изучении HTML-файлов, сохраняемых в Excel.

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

90 Глава 4. Файлы Excel

в области разработки HTML-документов будут ошеломлены сложностью этого "простого"

Web-документа.

Материал оставшейся части этого раздела создавался с расчетом того, что вы уже знакомы с HTML

Ниже приведено несколько особенностей HTML-файла, создаваемого в Excel.

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

Большая часть документа находится между дескрипторами <heacl> и < /head>.

Значительную часть составляют определения стилей. Это информация, которая нахо-

дится между дескрипторами < s t y l e > и < / s t y l e > , расположенными, в свою очередь, между <head> и </head>.

И Что касается "реального" текста, который отображается в броузере, то он располагается в таблице (между дескрипторами < t a b l e > и </ t a b l e s ) .

Ш Формула сохраняется с помощью специального аргумента дескриптора <td> . Броузеры игнорируют этот аргумент, но его информация будет использоваться программой Excel при очередном открытии файла.

Размер HTML-файла, созданного для простой рабочей книги, превышает 4000 байтов, что очень много для простой Web-страницы, которая отображается в броузере. Информация, которая непомерно увеличивает размер файла, используется Excel для создания рабочей книги при очередном открытии HTML-файла.

Усложнение HTML-документа

Та рабочая книга, которая использовалась в предыдущем разделе, является предельно простой. Теперь добавим в нее сложные объекты и посмотрим, что же произойдет с HTML-файлом.

Используя файл созданной ранее простой рабочей книги, выберите диапазон А1: A3 и нажмите <F11>, чтобы создать новый лист диаграммы. Снова сохраните файл и загрузите его в своем броузере. Вы увидите, что он подобен рабочей книге Excel (это относится даже к расположенным внизу вкладкам листов и навигационных стрелок!).

Теперь размер HTML-файла увеличился более чем вдвое (и уже составляет примерно 10 000 байтов). Важнее то, что в папке с сохраненным файлом появилась вложенная папка с дополнительными файлами (их шесть, если говорить о рассматриваемой простой рабочей книге). Файлы, которые находятся в этой подпапке, необходимы для отображения в броузере копии рабочей книги и для повторного создания рабочей книги при очередном открытии HTML-файла в Excel.

Проверив HTML-файл, вы увидите, что он стал значительно сложнее, чем был вначале. В нем появилось много сложного кода JavaScript (JavaScript — язык написания сценариев, поддерживаемый броузерами Internet Explorer и Netscape Navigator). Теперь HTML-файл значительно сложнее, особенно для понимания рядового разработчика HTML-кода. И это все, не учитывая другие файлы, сохраненные во вложенной папке.

Три HTML-файла (по одному на каждый из листов, а также файл, который отображает панель со вкладками).

GIF-файл (диаграмма).

Часть /. Введение в Excel

91

CSS-файл (каскадная таблица стилей, содержащая информацию о форматировании данных).

XML-файл. XML означает extensible Markup Language, т.е. расширяемый язык разметки документов (он не рассматривается в этой книге). Итак, ситуация усложняется в геометрической профессии.

Возможно, вам потребуется открыть дру1 не рабочие книги Excel и сохранить их в виде HTML-файлов. Вскоре вы обнаружите, что в гюдпапке создается файл еще одного типа — MSO (MSO означает "файл для Microsoft Office"). Это битовый файл с информацией, которая используется для воссоздания специфичных для Excel объектов (таких, например, как макросы, сводные таблицы, условное форматирование и т.д.).

Как вы уже, возможно, догадались, сохранение рабочей книги Excel в формате HTML вызывает немало проблем. Например, если файл необходимо перенести в другую область, то вместе с ним обязательно следует переносить и все дополнительные файлы. Если один из дополнительных файлов поврежден, Excel не сможет воссоздать рабочую книг^. Открытие и сохранение HTML-файлов происходит намного медленнее, чем открытие и сохранение обычных XLS-файлов. Отсюда вывод: сохраняйте свои рабочие книги в формате HTML лишь тогда, когда имеете на то веские причины.

А как насчет интерактивности?

Если HTML вам еще не надоел, то настало время перейти на следующий уровень сложности. 8 Excel можно сохранять HTML-файлы, которые представляют электронные таблицы, содержащие интерактивность. Другими словами, когда HTML-файл отображается в броузере, то пользователь может взаимодействовать с документом, как с электронной таблицей — вводить данные, изменять формулы, настраивать форматирование ячеек, просматривать "живые" диаграммы и даже перетаскивать данные в сводных таблицах. Эта возможность, которая называется публикацией (в отличие от обычного сохранения), ограничена лишь тем, что обеспечивается лишь при сохранении одного листа (а не всей рабочей книге).

Чтобы понять, как в HTML обеспечивается интерактивность, активизируйте лист, содержащий формулы. Выполните последовательность команд Файл^Сохранить как веб-страницу. В диалоговом окне сохранения документа выставьте переключатель Выделенное'. Лист, а также установите флажок Добавить интерактивность. Щелкните на кнопке Опубликовать. Появится диалоговое окно Публикация веб-страницы. Ничего не изменяя в этом окне, опять щелкните на кнопке Опубликовать.

Открыв в броузере по умолчанию HTML-файл, вы увидите, что на странице отображается объект, который похож на электронную таблицу и который действительно является интерактивным. На рис. 4.2 представлен пример, полученный с помощью броузера Microsoft Internet Explorer.

Акак же Script Editor?

Ксожалению, в этой книге не уделено внимание достаточно важной теме, имеющей непосредственное отношение к Excel, — не рассмотрено средство Microsoft Script Editor (редактор сценариев Microsoft). Доступ к этому инструменту можно получить, нажав комбинацию клавиш <Alt+Shift+F11>. Редактор сценариев используется для редактирования в HTML-документе кода JavaScript (или VBScript). 6 настоящей книге, на наш взгляд, эту тему рассматривать не целесообразно, т.к. она может вызвать интерес достаточно ограниченного количества пользователей. Поэтому основное внимание будет уделено подлинной основе Excel — языку VBA и тем приложениям, которые не предназначены для публикации в Web.

Вы, скорее всего, ожидаете, что HTML-файл, сгенерированный в виде интерактивного рабочего листа, должен быть намного сложнее, чем пример из предыдущего раздела. Вот тут

92

Глава 4. Файлы Exc

вы не правы. Интерактивный рабочий лист занимает всего лишь один HTML-файл. По причине того, что для публикации взят только один лист, создавать на странице панель вкладок не потребуется. Бремя интерактивности возложено на элементы управления ActiveX. Поэтому, чтобы конечный пользователь имел возможность просматривать интерактивный Ехсе)- файл, в его броузере должен быть установлен пакет Office 2000 или более поздняя его версия.

Задача данного раздела— привести краткий обзор возможностей формата HTML, поддерживаемых в Excel 2000 или 2002. Эта тема достойна отдельной книги, писать которую я не имею никакого желания (в том числе и благодаря письмам читателей).

Ямс. 4.2. Пример интерактивного рабочего листа Excel календаря, отображаемого в броузере

ПараметрыExcelвсистемномреестре

В этом разделе изложены основные сведения о системном реестре Windows. Кроме того, вы узнаете, каким образом программа Excel использует реестр для хранения своих настроек-

0 системном реестре

В Windows 3.1 для хранения сведений о связывании типов файлов с определенными приложениями и OLE-регистрации использовалась база данных регистрации. Что же касается Windows 95 (и более поздних версий), то в ней эту концепцию разработчики расширили на системный реестр, хранящий данные конфигурации всех приложений, а также настройки самого компьютера.

Системный реестр— это иерархическая база данных, доступная для прикладных программ. Информация этой базы хранится в двух файлах: S y s t e m . d a t (для системных данных) и

Часть /. Введение в Excel

U s e r . d a t (для настраиваемых пользователем данных). Оба файла находятся в панке Windows. Кроме того, системным реестром может использоваться файл Pol i c y . p o l — файл, содержащий системные политики, данные которых заменяют информацию файлов реестра.

Для просмотра системного реестра воспользуйтесь редактором реестра (это файл R e g e d i t . ехе, который находится в папке Windows), Впрочем, к этой программе вы можете обратиться также для редактирования содержимого системного реестра. Подумайте, прежде чем начать изменение реестра, отдал себе полный отчет в выполняемых действиях. Вначале прочтите врезку "Перед тем, как редактировать системный реестр...". На рис. 4.3 показано окно редактора реестра.

Рис. 4.3. Просматривать системный реестр и изменять данные в не.» можноспомощьюспециальногоредактора

Как уже отмечалось, системный реестр является иерархической структурой. Он состоит из разделов и параметров. В табл. 4.3 перечислены разделы верхнего, корневого уровня системного реестра, а также приведено краткое описание информации, хранящейся в этих разделах.

Таблица 4.3. Разделы верхнего уровня из системного реестраWindows

Раздел

Описание

HKEY_CLASSES_ROOT

Информация об OLE, комбинациях клавиш и о других возможностях графиче-

 

ского интерфейса

HKEY_CURRENT4JSER

Данные из файла u s e r . d a t , содержащего пользовательские настройки сис-

 

темы (дубликат данных, имеющихся в HKEYJJSERS)

HKEY_LOCAL_MACHINE

Системная информация из файла S y s t e m . d a t

HKEYJJSERS

Информация обо всех пользователях системы

HKEY_CURREWT_CONFIG

Информация об аппаратных средствах компьютера

HKEY_DYN J3ATA

Информация об установленных устройствах

94 Глава4,ФайлыExcel

Параметры Excel

Информация, используемая программой Excel 2002, в системном реестре хранится в разделе HKEY_CURRBNT_USER\Software\Microsoft\OfficeM0.0\Excel

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

Перед тем, как редактировать системный реестр..

С помощью программы Regedit. ехе можно изменять данные в системном реестре, в тем числе информацию, которая представляет особую важность для работы вашей системы. Другими словами, если вы сделаете изменения не там, где это требуется, то работоспособность системы будет нарушена

Поэтому всегда соблюдайте простые меры предосторожности. Во-первых, убедитесь, что у вас есть дискета аварийной загрузки системы. (Эту дискету можно создать с помощью аплета Установка и удаление программ, запускаемого из папки Панель управления.) Дискета аварийной загрузки используется также для запуска Windows в случаях повреждения системы.

Во-вторых, обязательно выполняйте в редакторе реестра команду Фаил1*Экспорт. С ее помощью вы сможете сохранять ASCII-версию всего реестра или отдельной его конкретной ветви. И если вы чувствуете, что запутались во многочисленных параметрах, то всегда можете, импортировав необходимый ASCII-файл, вернуть системный реестр в предыдущее состояние (с помощью команд Файл^Импорт). Более подробно об этом рассказано в справочной системе программы Regedit.

Параметры системного реестра, регулирующие поведение Excel, автоматически обновляются при ее закрытии.

Важно понять, что программа Excel считывает значения системного реестра только один раз — при запуске. Кроме того, Excel обновляет значения в реестре лишь в процессе нормального завершения работы. Если по вине Excel в системе происходит сбой (к сожалению, это не такой уж редкий случай), то информация в системном реестре не обновляется. Например, если вы измените значение одного из параметров Excel (пусть этим параметром будет отображаемость строки состояния), то новое значение в системный реестр не будет записано, пока окно Excel не будет закрыто стандартным способом.

В табл. 4.4 перечислены разделы системного реестра, которые риулируют работу Excel 2002. Вполне возможно, что не все из них содержатся в базе данных вашего реестра.

Таблица 4.4. Информация в системном реестре, относящаяся к Excel

Раздел

Описание

 

Add-in Manager

Содержит перечень надстроек в области окна, которое выводится на экран

(Диспетчер надстроек)

при выполнении команды Сервис1 ^ Надстройки. В этом перечне отсутст-

 

вуют надстройки, которые поставляются вместе с Excel. Если в указанном

 

 

списке приведена надстройка, которую вы уже не используете, то соответст-

 

вующий элемент списка можно удалить с помощью редактора реестра

 

Converters (Конверторы)

Содержит перечень допопнитепьных (внешних) конверторов файлов, которые

 

не встроены в Excel

 

AutoSave

Содержит установленное вами значение параметра автосохранения

 

(Автосохранение)

 

 

Delete Commands

Позволяет указать, какие команды меню не должны отображаться на экране

(Удаление команд)

 

 

Часть I. ВведениевExcel

ft-

 

Окончаниетабл.4.4

Раздел

Описание

Error Checking

Содержит значения тех параметров, которые относятся к проверке формул на

(Проверка ошибок)

наличие ошибок

Init Commands

Содержит информацию о пользовательских командах

(Команды начальной за-

 

грузки)

 

Init Menus (Меню на-

Содержит информацию о пользовательских меню

чальной загрузки)

 

Line Print (Печать строк)

Содержит значения тех параметров, которые применяются при использовании

 

макросов Lotus 1-2-3. Excel обновляет этот раздел каждый раз, когда выпол-

 

няет макрос Lotus 1-2-3, имеющий параметр/wgdu (Worksheet Global Default

 

Update, "общее обновление рабочих листов, выполняемое по умолчанию")

Options (Параметры)

Раздел, состоящий из большого количества настроек. В нем представлены

 

значения самых разных параметров, в том числе пути к файлам, .автоматиче-

 

ски открывающимся при запуске Excel (например, к файлам надстроек)

Recent Files (Недавно сохраненные файлы)

Resiliency (Восстанавливав мость)

Security (Безопасность)

Spell Checker (Проверка орфографии)

Userlnfo (Информация о пользователе)

WK? Settings

{Параметры WK?)

Сохраняет имена последних сохраненных файлов {до девяти элементов)

Информация, используемая для восстановления документов

Указывает уровень безопасности для открытия файлов, содержащих макросы

Хранит выбранные вами значения для настройки системы проверки орфогра-

фии Информация о пользозателе

Содержит значения параметров открытия и сохранения файлов Lotus 1-2-3 (например, указание того, создавать файл формата FM1 или FM3)

Несмотря на то, что значения большинства параметров можно изменить в диалоговом окне Параметры программы Excel, некоторые специальные (но не менее полезные) настройки редактируются исключительно в системном реестре (в Excel они недоступны).

Вновь напомним; прежде чем приступить к изменениям в системном реестре, обратите внимание на врезку "Перед тем, как редактировать системный реестр...".

Резюме

В этой главе речь шла о файлах, используемых и создаваемых программой Excel. В ней описаны отдельные настройки Excel, рассказано о способах автоматической загрузки файлов, расширениях файлов Excel и поддерживаемых форматах файлов (в том числе, о HTMLформате). Кроме того, рассмотрены некоторые настройки программы Excel, хранящиеся в системном реестре Windows. Информация которая касается рачработки приложений и программирования, более подробно будет изложена в следующих главах.

Данной главой завершается часть I. Что касаечея части II, то в ней рассказывается о разработке в Елее! приложений, ориентированных на применение конечными пользователями.

96

Глава 4. Файлы Excel

Разработка приложений Excel

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

получить такое приложение с помощью Excel-

Приложения электронных таблиц

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

Но вначале обратимся к основам.

Наверняка уже несколько лет вы работаете с электронными таблицами, однако, скорее всего, ваша основная задача — это создание обычной электронной таблицы. И все. Вы, вероятно, не задумывались о более глобальных вопросах, изложенных далее в этой главе. Речь вдет о разных типах пользователей электронных таблиц и о том, какой должна быть классификация таблиц. Вы, скорее всего, даже и не думали об очень простых вопросах. Поскольку вы обратили свое внимание именно на эту книгу, то важно понять, например, зачем нужны электронные таблицы (если, конечно, вы действительно хотите стать "серьезным программистом"). Вначале остановимся на понятии

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

Приложенияэлектронныхтаблиц

Что касается использования электронных таблиц, то в данном случае программированием является процесс создания приложений, в которых вместо традиционного языка программирования (такого, например, как С, Pascal или BASIC) применяется программный код электронных таблиц. Однако и в этом случае, и в традиционном программировании приложения будут использоваться другими пользователями, а не их разработчиками.

Соседние файлы в папке 2 семестр