Читаем Интернет-журнал "Домашняя лаборатория", 2007 №7 полностью

Создать панель инструментов можно только в файле настроек Excel — с помощью диалогового окна "Сервис — Настройка — Панели инструментов". Однако если необходимо, чтобы панель инструментов хранилась в книге Excel, ее следует туда скопировать с помощью диалогового окна "Вложить" (открывается при нажатии кнопки "Вложить" в диалоговом окне "Сервис — Настройка — Панели инструментов"), см. рис. 7.14.



Рис. 7.14.Окно копирования панелей инструментов в книги.


При работе с панелями инструментов в Excel имеет быть следующее.

1. Скопированная в книгу панель инструментов изменяться не может. Все изменения, вносимые в отображаемую на экране панель инструментов, делаются в той панели, которая хранится в файле настроек Excel. Чтобы эти изменения были перенесены в панель инструментов, находящуюся в книге, необходимо ее заново туда скопировать с помощью диалогового окна "Сервис — Настройка — Панели инструментов — Вложить", предварительно удалив старые.

2. Если в файле настроек Excel есть панели инструментов, одноименные сохраненным в книге, то даже при открытии этой книги отображаются именно они, а не те, что сохранены в книге. Две одноименные панели инструментов в Excel существовать не могут.

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

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

При вызове с помощью кнопки на панели инструментов макроса, содержащейся в какой-либо книге Excel, эта книга в Excel открывается — со всеми вытекающими отсюда последствиями вроде выполнения автозапускаемых макросов или запрета на открытие книг с таким же названием.

Если вы переместили в другую папку файл с макросами, вызываемыми кнопками на скопированной в файл настроек Excel панели инструментов, то просто удалите эту панель из файла настроек Excel с помощью диалогового окна "Сервис — Настройка — Панели инструментов", а затем откройте и закройте книгу с макросами, находящуюся уже на новом месте. Excel заново скопирует панель инструментов в свой файл настроек и укажет в параметрах кнопок уже новый путь к файлу с макросами[237].

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

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

Если же программа, работающая в среде Excel и содержащаяся в создаваемой Excel'ем книге, должна выполнять расчеты над данными в других книгах, то наиболее предпочтительно создать для нее инсталлятор, автоматически копирующий файл с программой в какую-либо папку, где он будет впоследствии находиться постоянно. Если в такую книгу поместить панель инструментов, содержащую кнопку вызова макроса, то при открытии этой книги данная панель автоматически скопируется в файл настроек Excel и будет затем постоянно доступна для пользователя, позволяя ему запускать макросы из книги.

В Excel можно также создавать особые формы файлов, содержащих программный код — надстройки. Но рассказ о них выходит за рамки нашей книги.


ЦИФРОВАЯ ПОДПИСЬ

Перейти на страницу:

Похожие книги

Мебель своими руками
Мебель своими руками

Когда вы идете по улице, вывески на мебельных магазинах буквально зазывают вас – зайди, посмотри, купи. Зайти и посмотреть, пожалуй, можно, а вот купить… Согласитесь, с этим есть определенные проблемы. То размеры предлагаемой мебели вас не устраивают, то конструкция, то цвет. О ценах давайте вообще не говорить. Но выход есть – сделайте мебель сами. Не улыбайтесь недоверчиво – мол, это невозможно. Все возможно, главное – захотеть. Сейчас в магазинах и на рынках полно всевозможных материалов и фурнитуры для изготовления мебели, желание у вас есть, значит, дело за малым: внимательно изучить эту книгу. В ней рассказывается подробно, с чего начать, в какой последовательности выполнять необходимые операции, даже в какой цвет покрасить готовое изделие. Результат превзойдет все ваши ожидания, и вам долго нужно будет доказывать вашим гостям, что и табуретки, на которых они сидят, и стол, за которым вы расположились, и этажерки с полками и шкафами, и диваны, словом, все в доме сделано вашими руками.

Владимир Онищенко , Илья Мельников

Сделай сам / Хобби и ремесла / Дом и досуг