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

2 семестр / vba_2002

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

Событие BeforeRightClick

 

5 ] 5

События объекта Chart

 

515

События объекта

Application

 

516

Включение событий уровня объекта Application

.

518

Определение факта открытия рабочей книги

 

518

Отслеживание событий уровня объекта Application

 

519

События объекта UserForm

 

520

События, не связанные с конкретными объектами

 

521

Событие OnTime

 

522

Событие

OnKey

 

523

Резюме

 

 

524

Глава 20. Взаимодействие с другимиприложениями

525

Запуск другого приложения

525

Активизация другого приложения

528

Запуск аплетов папки Панель управления и мастеров

529

Автоматизация

530

Работа с внешними объектами

530

Ранняя и поздняя привязка

530

Простой пример

533

Управление приложением Word из Excel

533

Управление Excel из другого приложения

536

Работа с ADO

537

Использование метода SendKeys

540

Резюме

541

Глава 21. Создание и использование надстроек

542

Что такое надстройка

542

Сравнение надстройки со стандартной рабочей книгой

542

Основные причины создания надстройки

543

Использование менеджера надстроек Excel

544

Создание надстройки

545

Пример надстройки

546

Настройка рабочей книги

546

Тестирование рабочей книги

546

Добавление описательной информации

547

Создание надстройки

547

Установка надстройки

548

Распространение надстройки

549

Изменение надстройки

549

Сравнение файлов XLA и XLS

550

Структура и размер файлов

550

Членство в коллекциях

550

Окна

550

Листы

551

Получение доступа к процедурам VBA надстройки

551

Управление надстройками с помощью кода VBA

553

Коллекция Addlns

553

Свойства объекта Addln

555

События объекта Addln

557

Оптимизация производительности надстроек

558

Скорость выполнения кода

558

Размер файлов

559

Содержание

19

Особые проблемы, связанные с использованием надстроек

559

Правильная установка

559

Ссылки на другие файлы

561

Указание правильной версии Excel

561

Резюме

562

ЧАСТЬVI.РАЗРАБОТКАПРИЛОЖЕНИЙ

 

563

Глава 22. Создание собственных панелей инструментов

 

564

О командных панелях

 

564

Управление панелями инструментов

 

565

Как Excel обрабатывает панели инструментов

 

565

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

 

565

Когда панели инструментов работают некорректно

 

566

Ручное управление панелями инструментов и кнопками

 

567

О режиме модификации командных панелей

 

567

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

 

570

Управление коллекцией CommandBars

 

572

Типы командных панелей

 

572

Просмотр списка объектов CommandBar

 

573

Создание командной панели

 

574

Ссылки на командные панели

 

574

Удаление командных панелей

 

575

Свойства командных панелей

 

575

Ссылка на элементы управления командной панели

 

580

Перечисление элементов управления на командной панели

 

581

Перечисление элементов управления на всех панелях инструментов

 

581

Добавление элементов управления на командную панель

 

582

Удаление элемента управления из командной панели

 

583

Свойства элементов управления командных панелей

 

583

Резюме

 

590

Глава 23. Создание пользовательских меню

 

591

Несколько слов о строке меню Excel

 

591

Операции с меню Excel

 

592

Терминология

 

592

Удаление элементов меню

 

593

Добавление элементов меню

 

594

Изменение опций меню

 

594

Примеры кода VBA

 

595

Вывод информации о меню

 

595

Добавление нового меню в строку меню

 

596

Удаление меню со строки меню

 

598

Добавление опций в меню

 

599

Отображение комбинации клавиш вместе с опцией меню

 

602

Исправление восстановленного меню

 

604

Работа с событиями

 

604

Автоматическое добавление и удаление меню

 

604

Отключение или скрытие меню

 

605

Работа с установленными опциями меню

 

606

Простой способ создания пользовательских меню

 

609

Замена строки меню листа

,

611

Работа с контекстными меню

 

612

20

 

Содержание

Добавление опций в контекстное меню

614

Удаление опций из контекстного меню

615

Отключение опций контекстного меню

615

Отключение контекстных меню

615

Сброс контекстных меню

616

Создание нового контекстного меню

616

Резюме

618

Глава 24. Предоставление справки в приложениях

619

Справка в приложениях Excel

619

Справочная система, построенная с помощью компонентов Excel

621

Использование комментариев к ячейкам для предоставления справки

621

Применение текстового поля для предоставления справки

622

Использование рабочего листа для сохранения текста справочного руководства

623

Отображение справочной информации в пользовательском диалоговом окне

624

Использование помощника по Office для отображения справочного руководства

626

Использование средств WinHelp System и HTML Help System

629

WinHelp

629

HTMLHelp

630

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

631

Другие способы отображения справочного руководства в формате WinHelp или

 

HTML Help

633

Использование метода Help

633

Отображение справочной информации в окне сообщения

633

Отображение справочной информации в окне ввода данных

634

Резюме

634

Глава 25. Разработка приложений для пользователей

635

Определение приложения, ориентированного на пользователя

635

Мастер расчета займа

 

635

Использованиеприложения

 

636

Структура рабочей книги

 

637

Как это работает

 

638

Потенциальные улучшения

 

642

Концепции разработки приложений

 

642

Заключение

 

643

Резюме

 

644

ЧАСТЬ VII. ДРУГИЕ ТЕМЫ

 

645

Глава 26. Вопросы совместимости

 

646

Что такое совместимость

 

646

Проблемы совместимости

 

647

Поддерживаемые форматы файлов Excel

 

648

Избегайте использования новых возможностей

649

Приложения, которые используют функции Windows API

649

Поддержка платформы

Мас

650

Создание интернациональных

приложений

651

Многоязыковыеприложения

 

653

Язык в

VBA

654

Использование "локальных" свойств

 

654

Идентификация настроек системы

 

654

Содержание

 

21

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

656

Резюме

657

Глава 27. Управление файлами с помощью VBA

658

Часто выполняемые операции

658

Команды VBA по управлению файлами

659

Использование объекта FileSearch

661

Поиск файлов, которые содержат определенный текст

663

Использование объекта FileSystemObject

663

Работа с текстовыми файлами

665

Открытие текстового файла

666

Чтение текстового файла

666

Запись в текстовый файл

667

Получение номера файла

667

Определение или установка позиции в файле

667

Операторы чтения и записи

668

Примеры управления текстовыми файлами

668

Импортирование данных из текстового файла

668

Экспортирование диапазона в текстовый файл

669

Импортирование текстового файла в диапазон

670

Протоколирование операций в Excel

671

Фильтрация текстового файла

671

Импортирование более 256 столбцов данных

672

Экспорт диапазона в формат HTML

674

Резюме

676

Глава 28. Управление компонентами Visual Basic

677

 

 

Введение в

IDE

 

677

 

Объектная модель

IDE

 

678

 

Коллекция VBProjects

 

 

679

 

Первый пример

 

 

680

 

Замещение модуля обновленной версией

 

681

 

Использование VBA для создания кода

VBА

 

683

 

Добавление элементов управления в диалоговое окно UserForm на этапе разработки

 

685

 

Управление диалоговыми окнами UserForm на этапе разработки и на этапе выполнения

686

 

Добавление 100 элементов управления CommandButton на этапе разработки

 

687

 

Программное создание диалоговых окон UserForm

 

688

 

Простой пример

 

 

689

-,

Сложный пример

 

 

690

 

Резюме

 

 

694

Глава 29. Принципы управления модулями классов

695

Что такое модуль класса

695

Пример: создание класса NumLock

696

Вставка модуля класса

696

Добавление кода VBA

697

Использование класса NumLock

698

Еще о модулях классов

698

Именование класса объектов

698

Программирование свойств

698

Методы программирования

700

События модуля класса

700

Пример: класс CSVFile

701

22

Содержан

Переменные уровня модуля класса

 

701

Процедуры свойств

 

701

Процедуры методов

 

702

Использование объекта CSVFileClass

 

704

Резюме

 

705

Глава 30. Часто задаваемые вопросы о программировании в Excel

706

Общие вопросы об Excel

 

707

Редактор Visual Basic

 

711

Процедуры

 

714

Функции

 

718

Объекты, свойства, методы и события

 

720

Пользовательские диалоговые окна

 

728

Надстройки

 

733

Объекты CommandBar

 

735

Приложение А. Информационные ресурсы, посвященные Excel

 

738

Техническая поддержка со стороны фирмы Microsoft

 

738

Варианты поддержки

 

738

Microsoft Knowledge Base

 

739

Начальная страница Microsoft Excel

 

739

Обновления Microsoft Office

 

739

Группы новостей

 

739

Группы новостей, посвященные электронным таблицам

 

740

Конференции Microsoft

 

740

Поиск в группах новостей

 

741

Web-узлы

 

742

Spreadsheet Page

 

742

Web-узел Чипа Пирсона (Chip Pearson), посвященный Excel

 

742

Web-узел Стивена Булина (Stephen Bullen), посвященный Excel

 

742

Список часто задаваемых вопросов, касающихся электронных таблиц

 

742

Приложение Б. Справочник по функциям и операторам VBA

 

743

Приложение В. Коды ошибок VBA

751

 

Приложение Г. Справочник но кодам ANSI

755

 

Приложение Д. Материалы на Web-узле

763

 

Обзор

 

763

Примеры из глав

 

763

Power Utility Рак

 

773

Удаление Power Utility Рак

 

773

Sound-Proof 2000

 

773

Удаление Sound-Proof 2000

 

774

Предметный указатель

775

 

Содержание

23

Об авторе

Джон Уокенбах (John Walkenbach) — известный автор книг, посвященных электронным таблицам; он также является главой компании JWalk and Associates, Inc. — небольшой консалтинговой фирмы, расположенной в Сан-Диего и специализирующейся в области разработки приложений электронных таблиц. Его перу принадлежит около 30 книг и 300 статей, посвященных электронным таблицам. Новые идеи Джона изложены в таких журналах, как PC World, InfoWorld, PC Magazine, Windows и PC/Computing. Он также является ответственным за публикацию страницы The Spreadsheet Page популярного Web-узла www.j-walk.com/ss/. Одно из наиболее значительных достижений Джона — это разработка надстройки Power Utility Pak, получившей приз корпорации Microsoft.

Джон Уокенбах окончил университет в штате Миссури: и защитил диссертацию на соискание ученой степени доктора философии в университете штата Монтана.

24

Об авторе

Предисловие

Добро пожаловать в книгу Профессиональное программирование на VBA в Excel 2002!

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

Почему я написал эту книгу

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

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

Что надо знать

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

Excel 2002 для "чайников" Грега Харвея— написана для пользователей, которые хотят знать ровно столько, чтобы сдать экзамен, или решили приступить к работе с этим программным продуктом.

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

Чтобы получить от настоящей книги максимум возможного, необходимо быть достаточно опытным пользователем Excel. Я не тратил много времени на описание того, как выполняются простые операции. Предполагается, что вы умеете следующее:

создавать рабочие книги, вставлять листы, сохранять файлы и т.д.;

перемещаться по рабочей книге;

пользоваться меню и комбинациями клавиш;

управлять панелями инструментов Excel;

Предисловие

25

использовать функции рабочих листов Excel;

давать имена ячейкам и диапазонам;

применять основные возможности Windows, такие, например, как буфер обмена и приемы управления файлами.

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

Что надо иметь

Для эффективной работы с книгой необходимо иметь копию Excel. Несмотря на то, что данное издание посвящено Excel 2002, большинство изложенной информации также относится к Excel 2000 и Excel 97. Если же вы пользуетесь еще более ранней версией Excel, то эта книга точно не для вас. Кроме того, материал книги, в основном, применим также и к Excel для Macintosh. Впрочем, испытания на совместимость с версией для Мас я не проводил и оставляю это для вас.

Достаточно иметь компьютерную систему, на основе платформы Windows, но лучше иметь компьютер на базе процессора Pentium Ш/4 и с большим количеством памяти. Excel — это сложная программа, и использование ее в низкопроизводительной системе или в системе с небольшим объемом памяти не принесет вам радости в работе.

Рекомендую использовать высокое разрешение экрана (800x600 — достаточно, 1 024x768 — прекрасно, а 1 бООх 1 024 — это "выше крыши"). В крайнем случае, подойдет и стандартное разрешение 640x480.

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

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

Соглашения, относящиеся к клавиатуре

Для ввода данных вам нужна клавиатура. Кроме того, работать с меню и диалоговыми окнами можно с помощью клавиатуры.

Ввод

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

=СУММ(В2:В50) в ячейку В51".

Длинное вводимое значение располагается в отдельной строке и для него используется моноширинный шрифт. Например, вы можете получить указание ввести следующую формулу. =(СРЗНАЧ(А1:А8)+СРЗНАЧ(В1:В8))/25

Код VBA

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

26

Предисловие

отступы, заданные с помощью символов табуляции. Конечно, задавать отступы не обязательно, но они помогают отделять друг от друга операторы, находящиеся рядом.

Если строка кода не помещается в одной строке книги, то используется стандартный для VBA метод продолжения строки: в конце строки вводится пробел, после которого располагается символ подчеркивания. Это означает, что данная строка кода продолжается следующим фрагментом. Например, приведенные ниже две строки текста представляют одну строку кода.

If

Right(ActiveCell,

1) = "!" Then

ActiveCell

=

Left(ActiveCell,

Len(ActiveCell)

- 1)

Этот код можно ввести или так, как показано, то есть в двух строках, или в одной, не используя символа подчеркивания.

Функции, имена файлов и именованные диапазоны

Для отображения функций рабочих листов Excel используется верхний регистр моноширинного шрифта, например, "В ячейку С2 0 введите формулу СУММ". Имена, свойства, методы и объекты процедур VBA отображаются моноширинным шрифтом: "Выполните процедуру G e t T o t a l s " . В таких именах, чтобы они легче читались, нередко одновременно используется и нижний, и верхний регистр.

Соглашения, относящиеся к мыши

Если вы читаете эту книгу, то, значит, хорошо знаете, как пользоваться мышью. Вся "мышиная" терминология является достаточно стандартной: "указание", "щелчок", "щелчок правой кнопкой", "перетаскивание" и т.д.

Что означают пиктограммы

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

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

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

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

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

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

Предисловие

27

Структура книги

Главы данной книги сгруппированы в семь основных частей. Дополнительная информация приводится в нескольких приложениях.

Часть I

В этой части представлены основы изучаемой программы. В главе 1 излагается краткая история электронных таблиц — таким образом, вы сможете определить место Excel в мире программного обеспечения. В главе 2 изложен концептуальный анализ Excel 2002 — достаточно полезный для тех опытных пользователей электронных таблиц, которые переходят к использованию Excel. Что же касается главы 3, то в ней вкратце рассматриваются формулы, кроме того, рассказывается о некоторых новых приемах. В главе 4 отмечены достоинства и недостатки разных форматов файлов, поддерживаемых и создаваемых в Excel.

Часть II

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

Часть III

В эту часть входят главы с 7 по 11. В ней речь пойдет о подготовке к изучению VBA. Вы ознакомитесь с VBA, с основами программирования и более подробно — с разработкой процедур и функций VBA. Глава 11 предлагает рассмотреть полезные примеры использования VBA для решения ежедневных задач.

Часть IV

В четырех главах этой части речь идет о пользовательских диалоговых окнах (называемых также пользовательскими формами UserForm). В главе 12 описываются альтернативные методы создания пользовательских форм. О пользовательских формах и различных элементах управления, используемых при создании этих форм, рассказывается в главе 13. В главах 14 и 15 приведены примеры пользовательских диалоговых окон, начиная от простых и заканчивая достаточно сложными.

Часть V

В этой части рассматриваются дополнительные методы программирования, которые на первый взгляд невероятно сложные для понимания. В первых трех главах говорится о том, как создавать утилиты и как использовать VBA для работы со сводными таблицами и диаграммами. В главе 19 рассказывается о процессе обработки событий, который позволяет выполнять процедуры автоматически, причем выполнять именно тогда, когда произойдут определенные события. В главе 20 речь идет о способах взаимодействия с другими приложениями (такими, например, как Word). Часть V заканчивается главой 21 где подробно обсуждается вопрос создания надстроек.

Часть VI

Главы этой части посвящены важным этапам создания приложений, ориентированных на конечных пользователей. В главах 22 и 23 речь идет о создании пользовательских меню и пане-

28

Предис

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