Предисловие

Для кого предназначена эта книга
Структура книги
Об авторе

Часть I. Финансовый и экономический анализ
средствами рабочего листа Microsoft Excel

Глава 1. Базовые сведения по работе с Microsoft Excel
Что такое Microsoft Excel?
Ввод команд
Рабочая книга
Действия, выполняемые над рабочей книгой
Создание новой рабочей книги
Открытие существующей рабочей книги
Сохранение новой рабочей книги
Сохранение без переименования
Закрытие окна рабочей книги
Удаление и переименование рабочей книги
Окно приложения MS Excel
Панели инструментов MS Excel
Отображение и скрытие панелей инструментов
Операции с рабочими листами
Выбор рабочих листов
Переименование рабочего листа
Удаление рабочего листа
Перемещение или копирование рабочего листа
Вставка нового рабочего листа
Скрытие и отображение рабочего листа
Изменение масштаба
Ячейки и диапазоны
Выделение ячейки и диапазонов
Ввод данных в ячейку
Редактирование данных в ячейке
Форматирование данных
Изменение шрифта, размера и начертания символов
Выравнивание и изменение ориентации текста и чисел
Обрамление и задание цвета и узора
Форматирование чисел
Основные типы форматов
Формула рабочего листа
Ошибки, возвращаемые формулами
Трехмерные ссылки
Абсолютная и относительная адресация
Ваш первый документ, созданный в MS Excel

Глава 2. Построение графиков и решение нелинейных
уравнений
Построение графика функции
Таблица значений функции
Построение графика
Математические функции рабочего листа
График функции с двумя условиями
Логические функции
График функции с тремя условиями
Два графика в одной системе координат
Построение поверхности
Нахождение корней уравнения с помощью подбора параметра
Нахождение корней уравнения методом деления
отрезка пополам
Упражнения

Глава 3. Массивы
Расчет НДС, как пример умножения элементов массива на
число
Исправление формулы массива
Поэлементное сложение, вычитание, умножение и деление
двух массивов
Вычисление функции, зависящей от элементов массива
Вычисление сложных выражений
Функции рабочего листа для работы с матрицами
Решение системы линейных уравнений
Нахождение значения квадратичной формы
Пошаговое решение системы линейных уравнений методом Гаусса
Использование формулы массива для исключения промежуточной
формулы
Упражнения

Глава 4. Финансовый анализ в MS Excel и построение отчетных
таблиц
Финансовая функция ППЛАТ
Пример расчета эффективности неравномерных капиталовложений
с помощью функций НПЗ, ВНДОХ и Подбора параметра
Пример расчета эффективности капиталовложений с помощью
функции ПЗ
Именование диапазонов и ячеек
Присвоение имени ячейке
Изменение или удаление имени
Применение имени
Финансовые функции ПЛПРОЦ и ОСНПЛАТ
Финансовые функции БЗ, КПЕР и НОРМА
Функции по расчету амортизации: АМР, АМГД, ДОБ и ДДОБ
Создание последовательности заголовков
Пример простейшей отчетной ведомости
Еще один пример отчетной ведомости
Пример отчетной ведомости по расчетам просроченных платежей
Вычисление значения с использованием условия
Расчет комиссионных
Пример отчетной ведомости по расчету затрат на производство
Упражнения

Глава 5. Поиск решения и решение оптимизационных задач
Линейная оптимизационная задача
Постановка задачи об оптимальном производстве красок
Решение задачи об оптимальном производстве красок
Задача об оптимальном составе сплава
Задача об оптимальном планировании штатного расписания
Транспортная задача
Решение системы нелинейных уравнений
Задача о назначениях
Уравнение регрессии
Общий подход к построению уравнения регрессии на примере
линейной модели
Функции рабочего листа для уравнения линейной регрессии
Построение уравнения регрессии
Экспоненциальная модель
Упражнения

Глава 6. Средства работы с табличными базами данных
Консолидация рабочих листов
Пошаговое описание консолидации данных
Сортировка данных
Пошаговое описание сортировки
Использование Автофильтра
Пошаговый процесс автофильтрации
Промежуточные итоги
Пошаговое описание создания промежуточных итогов
Сводная таблица
Пошаговое описание создания сводной таблицы

Часть II. Офисное программирование

Глава 7. Пользовательские функции рабочего листа и VBA
Где пишется код функции пользователя?
Структура кода функции пользователя
Ваша первая функция пользователя
Математические функции
Как найти значение числа p
Еще один пример функции пользователя
Оператор условного перехода
Пользовательская функция с двумя условиями
Пользовательская функция с тремя условиями
Область видимости переменной
Расчет комиссионных
Упражнения

Глава 8. Основы программирования на VBA
Ваша первая программа на VBA
Типы данных
Допустимые имена
Объявление переменных
Инструкция Option Explicit
Может ли использование типа Variant привести к
нежелательным результатам?
Область видимости переменной
Время жизни переменной
Префикс в имени переменной
Строки
Комментарии
Соглашения по форматированию кода
Перенос строк кода
Расположение нескольких операторов в одной строке
Массивы
Динамические массивы
Присвоение содержимого массива массиву
Функции и процедуры для работы с массивами
Задание многомерного массива при помощи функции Array
Константы
Перечисление констант
Тип данных, определенный пользователем
Операции VBA
Математические операции
Операции отношения
Инструкция Option Compare
Логические операции
Приоритеты операций
Встроенные функции VBA
Функции проверки типов
Функции определения типа переменной
Функции преобразования типов
Функция форматирования данных
Пользовательские форматы
Функции обработки строк
Функции времени и даты
Функции выбора
Встроенные диалоговые окна
Финансовые функции
Инструкции VBA
Оператор присваивания
Операторы управления
Оператор условного перехода
Оператор выбора
Оператор For Next
Упорядочивание данных по возрастанию методом
пузырька
Шифрование информации методом Цезаря
Шифрование методом подстановки
Оператор For Each Next
Оператор While Wend
Оператор Do Loop
Использование операции умножения вместо операции
возведения в степень
Оператор безусловного перехода GoTo
Процедура
Организация программы
Вызов процедуры
Процедура с необязательными параметрами
Неопределенное количество параметров
Использование массива в качестве параметра процедуры
Возвращение массива из функции
Передача параметров по ссылке и значению
Рекурсивные процедуры

Глава 9. Автоматизация проектов при помощи элементов
управления
VBA как объектно-ориентированный язык программирования
Что такое объект?
Семейство объектов
Классы
Методы
Свойства
События
Объектная модель MS Excel
Полная и неявная ссылка на объект
Проект "Живая ячейка"
Объект Font
Оператор With
Функции RGB и QBColor
Учет числа переходов к рабочему листу
Автоматический учет максимального и минимального
объема продаж
Получение доступа к функциям рабочего листа
Элементы управления
Ваш первый проект с элементом управления
Создание кнопочного сценария расчета суммарной прибыли
Использование списка в сценариях расчета суммарной прибыли
Автоматическое определение числа вариантов расценок
Автоматизация расчета эффективности капиталовложений с
помощью счетчика
Управление сценариями расчета эффективности капиталовложений
с помощью переключателей
Запрет ввода данных с клавиатуры в ячейки рабочего листа
Ввод данных при защите рабочего листа
Контроль ввода числовых данных
Автоматизация перехода между листами рабочей книги
Запись макрокоманд
Усовершенствование макроса
Изменение элементов диаграммы
Автоматическое построение диаграммы с помощью флажка
Скрытие внедренных объектов при печати
Классы
Создание модулей класса
Процедуры Property Let, Property Set и Property Get
Ваш первый пользовательский класс
Структура редактора Visual Basic
Окно Project — VBA Project
Окно редактирования кода
Интеллектуальные возможности редактора кода
Вызов справки по ключевому слову
Защита кода проекта
Упражнения

Глава 10. Пользовательская форма
Создание пользовательской формы
Добавление формы в проект
Свойства формы
Методы формы
События формы
Операторы Load, Unload и End
Ключевое слово Me
Проект с одной формой
Рисунок как подложка формы
Сообщение "File not found"
Побуквенный вывод заголовка формы
Функция DoEvents
Запрос на подтверждение закрытия окна программы
"Пасхальное яйцо" и событие MouseDown
"Пасхальное яйцо" и комбинации клавиш
Модальное окно
Элементы управления
Общие свойства элементов управления
Общие методы элементов управления
Общие события элементов управления
Элемент управления Кнопка
Элемент управления Надпись
Элемент управления Поле
Пример расчета стоимости с учетом НДС
Блокировка поля ввода
Частичная блокировка поля ввода
Ошибки ввода данных
Перехват и обработка ошибок
Выделение некорректно введенных данных
Оператор SendKeys
Команда SendKeys
Перемещение фокуса
Изменение цвета поля при получении фокуса
Назначение быстрой клавиши
Кнопки ввода данных и отмены
Прозрачная надпись
Объемный текст
Свойство Tag элементов управления
Всплывающие подсказки
Элемент управления Переключатель
Элемент управления Рамка
Пример использования рамки и переключателей
Элементы управления Флажок и Выключатель
Пример расчета ренты
Элементы управления Полоса прокрутки и Счетчик
Пример определения размера платежей с целью накопления
искомой суммы
Элемент управления Список
Заполнение списка и удаление его элементов
Возвращение выбранного элемента и его номера
Список с несколькими столбцами
Выбор элементов
Скрытие столбцов
Многоэлементный выбор из списка
Заполнение списка из диапазона ячеек
Заполнение списка значениями из диапазона переменного
размера
Назначение элементов одного списка другому
Элемент управления Поле со списком
Добавление и удаление данных
Добавление в список неповторяющихся данных
Элемент управления Рисунок
Окно About
Изменение вида курсора
Элементы управления Набор страниц и Набор вкладок
Элемент управления RefEdit
Пример вычисления внутренней скорости оборота
Дополнительные элементы управления
Элемент управления ScriptingControl
Элемент управления Календарь
Работа с табличной базой данных
Табличная база данных туристической фирмы
Проект "Туристическая фирма"
Упражнения

Глава 11. Создание пользовательского интерфейса
Объект CommandBar и семейство CommandBars
Объект CommandBarControl и семейство CommandBarControls
Создание строки меню
Встроенные окна Открытие документа и Сохранение документа
Создание панели инструментов
Конструирование контекстного меню
Установка параметров окна и отображение формы-заставки
Упражнение

Глава 12. Объектная файловая система
Объекты FSO
Работа с дисками
Работа с каталогами
Работа с файлами
Чтение, запись и добавление данных в текстовый файл
Ввод данных из текстового файла в поле
Пример записи данных в файл
Пример считывания данных из файла
Окно Tip of the Day
Объект Сollection
Тип данных элементов объекта Сollection
Отображение всех подкаталогов
Определение объема свободного дискового пространства
Функции для работы с файлами
Упражнения

Глава 13. Интеграция приложений
Технология ActiveX
Связывание и внедрение объектов
Внедрение нового объекта
Внедрение существующего объекта
Технология Automation
Программные идентификаторы приложений-серверов
Automation
Функции доступа к объектам Automation
Позднее и ранее связывание
Microsoft Excel и Microsoft Word
Создание нового документа MS Word функцией CreateObject
Открытие документа MS Word функцией GetObject
Создание отчета на основе данных рабочего листа
Пример создания квитанции
Вывод статистических сведений о документе
Создание отчета MS Word на основе базы данных
Microsoft Excel и Microsoft Outlook
Отправка сообщения
Внесение записей в папки Контакты, Задачи и Календарь
Microsoft Excel и Microsoft Access
Создание объектов MS Access
Печать или предварительный просмотр отчета
Подведение итогов в MS Excel на основе базы данных
MS Access
Visual Basic и Microsoft Excel
Нахождение значения арифметического выражения
Решение уравнения
Проверка орфографии
Использование макросов для ускорения выполнения
Automation-приложений
Упражнения

Глава 14. Работа с базами данных
Microsoft Jet
DAO
Семейства объекта DBEngine
Объект Workspace
Объект Database
Порядок работы при объектном доступе к данным
Создание рабочей области
Открытие базы данных
Объект Recordset
Создание объекта Recordset
Методы и свойства объекта Recordset
Создание SQL-запроса
Оператор SELECT
Предложение ORDER BY
Предложение WHERE
Статистические функции
Использование в операторе SELECT функций VBA
Просмотр записей базы данных
Предотвращение ошибок при вводе текстовых данных
Браузер базы данных
Создание, редактирование и удаление записей
Определение количества записей
Создание закладок
Поиск записи методом Find
Поиск записи методом Seek
Еще один браузер базы данных

Часть III. Web-программирование

Глава 15. Создание Web-страницы и базовые сведения
о HTML
Гиперссылки
Создание гиперссылки на документ MS Office
Задание гиперссылок формулой
Базовые сведения о HTML
Поддержка HTML
Среда разработки HTML-документов
Универсальный идентификатор ресурсов URL
Обзор наиболее часто используемых тегов
Теги заголовка HTML-документа
Тег тела HTML-документа
Теги форматирования HTML-документа
Тег изображения в HTML-документ
Тег вставки гиперссылки и закладки
Отправка сообщения по электронной почте
Специальные символы
Списки
Таблицы
Использование таблиц для форматирования документа
Фреймы
Организация гиперссылок во фреймах
Каскадная таблица стилей
Задание стилей для отдельного фрагмента документа
Встраивание таблицы стилей в документ
CSS и MS FrontPage
Связывание документа с таблицей стилей
Группа селекторов и атрибутов свойств
Контекстные селекторы
Классы стилей
Произвольное размещение элементов в документе
Использование атрибута id в качестве селектора стиля
Фильтры
Ваш первый автоматически созданный HTML-документ
Элемент управления WebBrowser
Пользовательский мини-браузер
Улучшенный мини-браузер

Глава 16. Создание интерактивных Web-страниц
Среда разработки VBScript-сценариев
Объектная модель
Объект window
Бегущее сообщение в строке состояния
Объявление переменных и констант уровня модуля
Объект document
Семейство элементов
Динамически изменяющаяся страница
Прокручивание документа
Движущееся изображение и объект style
Закрепление изображений в углах окна
Строка-пружина
Инициализация переменных уровня модуля
Еще раз о бегущей строке
Объект navigator
Создание страницы с информацией о браузере
Объект event
Изменение цвета шрифта и вида указателя мыши
Выделение текущего слова
Оператор eval
Выбор изображения
Изменение фрагмента текста
Электронные часы
Динамически изменяющееся содержимое фрейма
Объект screen
Динамические фильтры
Создание эффекта перехода
Формы и элементы управления
Поле ввода, кнопка, флажок и переключатель
Кнопка
Всплывающая подсказка
Оживление кнопки
Разноцветные кнопки
Быстрые клавиши
Поле ввода
Флажок
Переключатель
Массив элементов управления
Визуальная группировка элементов управления
Скрытие и отображение элементов
Создание меню
Кнопки Submit и Reset
Проверка корректности представляемых пользователем
данных
Автоматическая коррекция данных
Проверка данных на этапе ввода
Меню или список выбора
Отображение структуры документа
Многострочное поле ввода
Карта-изображение
Бегущая строка
Плавающий фрейм
Использование элементов управления ActiveX
Элемент управления Structured Graphics
Связывание Web-страницы с базой данных
Просмотр базы данных с графическими изображениями
Создание таблиц на Web-странице на основе базы данных
Фильтрация данных
Модальное окно
Окно About
Обмен данными между окнами
Cookies

Глава 17. Active Service Pages
Установка инастройка Microsoft Internet Information Server
Ваш первый ASP-проект
Серверная и клиентская части ASP-проекта
Объекты ASP
Объект Response
Объект Request
Два примера получения данных на сервере при помощи
объекта Form
Объект Application
Объект Session
Файл> Global.asa
Объект Server
Чтение данных из файла
Запись данных в файл
Установка источника базы данных
Открытие базы данных
Создание набора записей
Работа с курсором
Блокировка записей
Виртуальный каталог
Создание новой записи в базе данных
Использование ADO в офисных проектах
Виртуальный магазин

Глава 18. Элементы управления ActiveX
Ваш первый элемент управления ActiveX
Регистрация элементов управления ActiveX
Мастер ActiveX Control Interface Wizard
Элемент управления ActiveX для бегущей строки
Процедуры обработки событий
Объект AmbientProperties
Элемент управления ActiveX ctlSpinner
Процедуры обработки событий и методов
Модернизация элемента управления

Часть IV. Приложения

Приложение 1. Функции рабочей таблицы

Приложение 2. Объектная модель Microsoft Excel

Приложение 3. Отладка программ
Ошибки компиляции
Ошибки выполнения
Логические ошибки
Пошаговое выполнение программ
Точка прерывания
Вывод значений свойств и переменных

Приложение 4. Сценарии для Windows
Ваш первый сценарий для Windows
Передача значений через окно ввода данных
Передача значений через параметры файла
Microsoft Excel и сценарии
Объектная файловая система и сценарии
Объект Shell и временные диалоговые окна
Работа с ярлыками

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