- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 2. Основы офисного программирования
- •Оглавление
- •Глава 6. Использование Win32 api 113
- •Глава 7. Использование шаблонов и надстроек 118
- •Глава 8. Разработка приложений с помощью Excel 122
- •Глава 9. Разработка приложений с помощью Word 223
- •Глава 10. Использование Automation при интегрировании компонентов Microsoft Office 256
- •Глава 11. Организация доступа к внешним данным 279
- •Глава 12. Общие рекомендации по разработке приложений 297
- •Глава 13. Разработка справочной системы 298
- •Глава 14. Дополнительные рекомендации 301
- •Пояснительная записка
- •Уровень предварительной подготовки слушателей
- •Образовательные цели и задачи
- •Знания и навыки, получаемые в ходе изучения курса
- •Содержание занятий
- •Вопросы для самостоятельного изучения
- •Содержание лабораторных работ
- •Итоговые работы
- •Введение
- •Глава 1.Общая характеристика возможностей vba
- •Глава 2.Основные принципы разработки приложений
- •Глава 3.Основные правила разработки интерфейса
- •Глава 4.Visual Basic для приложений
- •Глава 5.Введение в язык и редактор Visual Basic
- •5.1.Окно Редактора Visual Basic
- •5.2.Основные правила записи программ на vba
- •5.2.1. Описания в программах на языке vba
- •5.2.2. Структуризация программ vba и правила записи кода процедур
- •5.2.3. Использование параметров
- •5.2.4. Типы данных vba
- •5.2.5. Описания переменных
- •5.2.6. Объекты в программах на vba и объектные переменные
- •5.2.7. Создание объектов пользователя
- •5.2.8. Описание и использование констант
- •5.2.9. Массивы в vba
- •5.2.10. Описание типов данных пользователя
- •5.2.11. Запись выражений на vba
- •5.2.12. Рекурсивные вычисления
- •5.2.13. Процедуры-подпрограммы
- •5.2.14. Процедуры-функции
- •5.2.15. Процедуры-свойства
- •5.2.16. Создание процедур
- •5.2.17. Управляющие структуры vba и события
- •5.3.Запуск программ
- •5.4.Отладка программ
- •5.5.Обработка ошибок
- •5.6.Преобразования типов
- •5.7.Функции для работы с датами и временем
- •5.8.Управление файлами
- •5.9.Функции проверки
- •5.10.Функции работы со строками
- •5.11.Взаимодействие с пользователем
- •5.12.Пользовательские формы и диалоговые окна
- •5.13.Создание пользовательских меню и панелей инструментов
- •5.14.Разработка контекстного меню
- •5.15.Открытие проектов, экспорт и импорт
- •Глава 6.Использование Win32 api
- •Глава 7.Использование шаблонов и надстроек
- •Глава 8.Разработка приложений с помощью Excel
- •8.1.Иерархия объектов Excel
- •8.2.Обзор основных объектов Excel
- •8.2.1. Объект Application
- •8.2.2. Объект Workbook
- •8.2.3. Объект WorkSheet
- •8.2.4. Объект Range
- •8.2.5. Графические объекты
- •8.2.6. Элементы управления и обработка событий
- •8.3.Представление данных и вычисления в таблицах Excel
- •8.3.1. Ссылки на ячейки рабочих листов Excel
- •8.3.2. Работа с формулами
- •8.3.3. Использование функций
- •8.3.4. Создание пользовательских функций рабочего листа
- •8.3.5. Массивы Excel
- •8.3.6. Определение связей между таблицами
- •8.3.7. Консолидация данных
- •8.3.8. Форматирование данных в таблицах
- •8.4.Анализ данных и подведение итогов
- •8.4.1. Создание сводных таблиц
- •8.4.2. Подведение промежуточных итогов
- •8.4.3. Определение частичных сумм
- •8.4.4. Создание диаграмм
- •8.4.5. Работа со структурой данных
- •8.5.Подбор параметров и поиск решения
- •8.6.Использование сценариев
- •8.7.Поиск и отбор данных в таблицах Excel
- •8.7.1. Использование автофильтра
- •8.7.2. Работа с расширенным фильтром
- •8.7.3. Поиск данных по подписям строк и столбцов
- •8.8.Упорядочение данных в таблицах
- •8.9.Защита приложений Excel
- •8.9.1. Защита от ошибок при вводе данных
- •8.9.2. Защита данных от несанкционированного доступа
- •Глава 9.Разработка приложений с помощью Word
- •9.1.Модель объектов Word
- •9.1.1. Объект Document
- •9.1.2. Другие дочерние объекты приложения Word
- •9.2.Работа с полями
- •9.3.Переменные документа
- •9.4.Использование формул в документах Word
- •9.5.Использование элементов управления в документах Word
- •9.6.Создание шаблонов документов на основе таблиц
- •9.7.Защита документов Word и кода
- •Глава 10.Использование Automation при интегрировании компонентов Microsoft Office
- •10.1.Технология ActiveX
- •10.2.Компонентная модель объектов, внедрение и связывание
- •10.3.Создание объектов Automation
- •10.4.Получение доступа к объекту
- •10.5.Пример вычислений в Access с помощью Excel
- •10.6.Управление связанными и внедренными объектами с помощью программного кода
- •Глава 11.Организация доступа к внешним данным
- •11.1.Доступ к данным из клиентских приложений
- •11.2.Интерфейс odbc
- •11.3.Использование dao для доступа к данным
- •11.3.1. Модель объектов dao
- •11.3.2. Создание рабочей области и открытие источника данных
- •11.3.3. Исследование структуры таблиц бд
- •11.3.4. Операции над данными
- •11.4.Интеграция данных и работа в сети
- •11.4.1. Доступ к данным Excel из субд Access
- •11.5.Выбор метода доступа к данным
- •Глава 12.Общие рекомендации по разработке приложений
- •Глава 13.Разработка справочной системы
- •13.1.Использование всплывающих подсказок
- •13.2.Контекстная справка «Что это такое?»
- •13.3.Подготовка файла справки
- •Глава 14.Дополнительные рекомендации Установка приложения
- •14.1.Повышение эффективности работы приложения
- •Приложение 1. Система автоматизации подготовки документов на основе пакета Microsoft Office
- •Требования к системе Office case
- •Интеллектуальность документа
- •Однократный ввод данных и их совместное использование
- •Дружественный интерфейс – «ориентация на человека»
- •Мобильность
- •Независимость от версии Microsoft Office
- •Поддержка языка разметки документов xml
- •Общий сценарий использования
- •Структура Office case
- •Структура скрытого раздела документа
- •В. Таблица ограничений
- •Подсистемы программного проекта документа Менеджер закладок
- •Менеджер классификаторов
- •Подсистема управления интерфейсом пользователя
- •Подсистема контроля данных
- •Подсистема информационного обмена
- •Дизайнер системы документов
- •Редактор классификаторов
- •Редактор правил
- •Редактор закладок
- •Редактор блоков данных
- •Пример применения Office case Постановка задачи
- •Реализация Документы «Подсистемы автоматизации подготовки отчетов»
- •Требования к квалификации пользователей
- •Установка приложения и подготовка к работе
- •Интерфейс первичных документов
- •Интерфейс сводных документов
- •Приложение 2. Автоматизированное рабочее место «Оператор автозаправочной станции»
- •Разработка структуры рабочей книги
- •Настройка пользовательского интерфейса
- •Разработка экранных форм
- •Приложение 3. Автоматизация заполнения бланка с помощью программы текстового процессора Word Постановка задачи
- •Разработка документа
- •Разработка экранной формы
- •Список литературы
8.3.6. Определение связей между таблицами
Связи позволяют использовать на листе одной рабочей книги данные других листов и даже рабочих книг. Можно установить связь с одной ячейкой, диапазоном ячеек, диапазоном рабочих листов.
Рабочая книга, содержащая исходные данные, называется исходной книгой или книгой-источником. Книга, получающая данные, – это книга-получатель или целевая рабочая книга.
Благодаря возможности связывать данные друг с другом, можно создавать небольшие рабочие книги с небольшими листами, соответствующие отельным задачам. Затем эти книги можно связать друг с другом для создания больших информационных систем, в которых информация не будет дублироваться и всегда будет поддерживаться в соглавосанном состоянии, что позволяет повысить гибкость в организации работы (связанные данные могут располагаться на различных компьютерах в сети), облегчить внесение изменений (изменения нужно вносить только в исходные данные).
Чтобы связать ячейки или диапазоны ячеек нужно выделить исходный диапазон ячеек, открыв исходную книгу, и выполнить команду копирования. Затем следует переключиться на целевой рабочий лист и выделить ячейку, которая должна быть расположена в левом верхнем углу диапазона ячеек, для которых создается связь. Затем нужно выполнить команду Специальная вставка меню Правка. В открывшемся диалоговом окне следует установить значения нужных переключателей (например, установить переключатель «Вставить» в положение «Все», а переключатель «Операция» – в положение «Нет»). Для завершения операции нажимается кнопка Вставить связь. В результате в ячейках будут отображены значения ячеек исходного диапазона, а содержимым этих ячеек (его можно увидеть в строке формул) будут соответствующие ссылки (рис. 16).
Программным способом эти действия выполняются с помощью последовательности операторов (целевая книга к моменту, когда начинают выполняться операторы, должна быть открыта):
Workbooks.Open _
FileName:="D:\Примеры\Исходные данные для ссылок.xls"
Sheets("Данные для копирования").Range("Источник").Select
Selection.Copy
Windows("Создание ссылок.xls").Activate
Sheets("Лист1").Select
Range("A1").Select
ActiveSheet.Paste Link:=True
При изменении исходных данных автоматически будет происходить обновление информации в связанных диапазонах.
Установить связь можно с помощью непосредственного указания: следует выделить целевую ячейку, в которую будет помещена связь, и обычным образом ввести формулу, в которой будет задана нужная ссылка. Ввод завершается нажатием клавиши Enter. Таким образом, формулу, содержащую ссылку (связь) можно набрать вручную.
При сохранении рабочих книг, содержащих внешние ссылки, следует сначала сохранять исходные книги, а затем целевые (это обеспечит правильное запоминание пути к источнику). При изменении книги-источника лучше держать открытой книгу-получателя (при этом в целевой книге будут зафиксированы изменения).
Изменение информации в связанных книгах лучше выполнять с самых нижних уровней иерархии (от источников) и обновлять связи в порядке от книги-источника самого низшего уровня к целевой книге самого высокого уровня иерархии связей.
Если при открытии целевой рабочей книги с установленными связями исходная рабочая книга открыта, то связи обновляются автоматически. Если же исходная книга закрыта, то пользователь должен будет ответить на вопрос, хочет ли он работать с данными, оставшимися после последнего сохранения книги, или их следует обновить, выбрав новые значения из исходной рабочей книги.
Если связи при открытии всегда должны обновляться, то следует отключить сохранение копий внешних данных вместе с рабочей книгой. Для этого нужно выполнить команду Параметры меню Сервис и на вкладке «Вычисления» диалогового окна снять флажок «Сохранять значения внешних связей».
Если целевая рабочая книга уже открыта, то для открытия исходных книг можно выполнить команду Связи в разделе меню Правка. В открывшемся диалоговом окне приведен список всех источников, в нем можно выделить нужные файлы и щелкнуть кнопку Открыть.
С этом же диалоговом окне можно выделить источники, связь с которыми нужно обновить (заменить на другой файл, например). Обновление ссылок необходимо, если изменилось имя или расположение исходной рабочей книги. Операция обновления связей запускается щелчком по кнопке Изменить. В открывшемся диалоговом окне в его верхней части выделяется обновляемая связь, а в полях ввода в нижней части окна указывается новый, предназначенный для замены источник.
Внешние ссылки, связывающие ячейки или диапазоны ячеек, могут быть «заморожены» – внешняя ссылка удаляется, но сохраняются значения полей, ссылка заменяется на значение. Для выполнения этой операции следует указать нужную ячейку, нажить клавиши F2 и F9 (и кнопку Вычислить).
Существует еще один вид связывания – связывание изображений ячеек.
Более подробную информацию об используемых командах можно получить в справочной системе. Соответствующий код можно сгенерировать с помощью средст макрогенерации.
