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

2 семестр / vba_2002

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

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

Об URL, перечисленных в этом приложении

Как известно, Internet— динамичная система, которая изменяется очень быстро. Wsbузлы часто подвергаются реорганизации (особенно те из ник, которые находятся в домене microsoft.com). Таким образом, конкретные URL, указанные в этом приложении, могут оказаться недоступными. На момент написания книги каждый URL указывал на реальную страницу, но возможно, что к моменту, когда вы будете ее читать, часть этих адресов окажется недействительной.

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

Microsoft Knowledge Base

Наиболее эффективный метод решения проблемы вы найдете в Microsoft Knowledge Base (База знаний Microsoft). Это основной источник информации о продуктах фирмы Microsoft — обширная база данных, которая поддерживает поиск информации и состоит из десятков тысяч подробных статей, содержащих техническую информацию, а также списков ошибок, исправлений и т.д.

С помощью Internet можно получить бесплатный и неограниченный доступ к ресурсам базы знаний. Эта база данных расположена по адресу h t t p : / / s u p p o r t . m i c r o s o f t .com/,

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

Официальная страница Microsoft Excel находится по адресу http : //www.microsoft.coxa/ office/excel/.

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

Для получения обновлений приобретенных продуктов, а также получения надстроек и другой информации об Office (о состав которого входит Excel), обратитесь по следующему адресу: h t t p : //of £ iceupdate .microsoft. com/.

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

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

Приложение

739

Кроме соединения с Internet, вам также необходимо иметь специальное программное обеспечение, предназначенноедля чтения групп новостей. Почтовый клиент Microsoft Outlook Express является неплохим вариантом такого программного обес- печения.Этоприложениенаходитсянакомпакт-дискеспакетомOffice2002. Если доступ к программномуобеспечениюдля чтения групп новостей вам получить не удалось (или если соединение с Internet не позволяет управлять группами новостей), то можете обратиться к конференциям microsoft .public. * по следующемуадресу:http://communities.microsoft.com/newsgroups/.

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

Основной группой новостей, посвященной электронным таблицам, является конференция сотр . apps . spreadsheet . Она предназначена для пользователей всех электронных таблиц, но около 90% сообщений этой конференции посвящены Excel. Хотите бесплатный совет? Не "связывайтесь" с этой конференцией и переходите непосредственно к конференциям Microsoft.

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

Microsoft поддерживает большое количество групп новостей, включая посвященные Excel конференции. Если ваш ISP не предоставляет доступ к конференциям Microsoft, то обратиться к ним можно непосредственно с помощью броузера, посетив сервер новостей фирмы Microsoft. Этот сервер расположен по адресу msnews . microsoft .com.

В табл. A.I перечислены ключевые конференции, которые можно найти на этом сервере.

Таблица А.1. Группы новостей на сервере Microsoft, посвященные Excel

Конференция Тема

microsoft .public, excel, programming

Программирование в Excel с помощью УВАили XLM

microsoft .public. excel. 123guattro

Преобразование листов Lotus 1 -2-3 или Quattro Pro в

 

 

листы Excel

microsoft .public. excel .worksheet.

Функции рабочих листов

functions

 

 

microsoft.public.excel .charting

Создание диаграмм с помощью Excel

microsoft, public, excel, printing

Печать из Excel

microsoft. public. excel. queryOAo

Использование Microsoft Query и Data Access Objects

 

 

(DAO) в Excel

microsoft, public. excel .datamap

Использование средства Excel Data Map

microsoft.public.excel.crashesGPFs

Помощь при возникновении ошибки General Protection

 

 

Fault и аварийном завершении работы системы

microsoft .public, excel, misc

Общие темы, оказывающиеся за пределами тематиче-

 

 

ских разделов

microsoft. public. excel. links

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

microsoft .public. excel .macintosh

Вопросы, связанные с Excel для Macintosh

microsoft. public. excel. interopole

OLE, DDE и Другие вопросы взаимодействия приложений

740

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

Конференция

microsoft-public.excel.setup microsoft.public.excel.templates microsoft.public.excel.sdk

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

Тема

Настройка и установка Excel

Шаблоны Spreadsheet Solutions и другие файлы XLT

Вопросы, касающиеся среды разработки Excel Software Development Kit

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

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

http://groups . google . com/

Ранее поиск в группах новостей выполнялся на узле Deja.com. Недавно этот узел был закрыт, а все сведения о группах новостей приобретены компанией Google.

Советы по написанию вопросов в группу новостей

1.Удостоверьтесь, что на этот вопрос еще не отвечали. Проверьте содержимое документов FAQ (если они существуют) и выполните поиск на узле Google (дополнительная информация приводится в разделе "Поиск в группах новостей" в этом приложении).

2.Укажите тему сообщения. Сообщение с темой "Помогите!" и "Вопрос по Excel" привлечет к себе намного меньше внимания, чем сообщение с темой "Код VBA для изменения размеров диаграммы в Excel 2002".

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

4.Удостоверьтесь, что вопрос задан достаточно конкретно.

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

6.Укажите список действий, которые предпринимались для получения решения,

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

8.Не используйте только верхний или только нижний регистр. Проверьте грамматику и орфографию сообщения.

9.Не вкладывайте в сообщение файлы.

10.Не используйте формат HTML.

11.Если необходимо получить ответ по электронной почте, не используйте "антиспам"- адреса, которые требуют модификации адреса перед отправкой. Зачем заставлять выполнять лишнюю работу того, кто и так пытается оказать услугу?

Как производить такой поиск? Предположим, у вас возникла проблема с элементом управления ListBox, который расположен в диалоговом окне UserForm. В качестве параметров

Приложение

741

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

Web-узлы

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

Spreadsheet Page

Это собственный Web-узел автора книги. Если отбросить ложную скромность, то данный узел можно назвать лучшим среди тех, которые предоставляют информацию для разработчиков. Он содержит файлы, советы разработчикам, инструкции по доступу к Easter Eggs a Excel, а также обширный список ссылок на другие узлы, посвященные электронным таблицам. Помимо этого, на узле приводится информация о моих книгах и даже шутки об электронных таблицах. Данный узел расположен по адресу h t t p : //j - w a l k . c o m / s s /

Этот узел содержит список ошибок, которые найдены в моих книгах, включая книгу, которую вы читаете. (Да, в этой книге тоже имеются ошибки!)

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

Чип является главой Pearson Software Consulting, и его узел содержит ряд полезных примеров использования языка VBA, а также примеры методов использования формул. Этот узел расположен по адресу h t t p : //www. cpearson.com.

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

Стивен является разработчиком приложений Excel и проживает в Великобритании. Он является главой Business Modelling Solutions, Ltd. Его узел содержит интересные примеры кода VBA для Excel, включая раздел "Считалось, что это невозможно'1. Данный узел расположен по адресу h t t p : //www.bmsltd.co.uk/excel/.

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

Некоторые группы новостей имеют собственные списки часто задаваемых вопросов. Они составляют для того, чтобы предотвратить повторяющиеся вопросы. Список часто задаваемых вопросов конференции сотр.apps. spreadsheet расположен по адресу h t t p : //www. faqs. org/fags/spreadsheet s/faq.

742

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

Справочник по функциям

и операторам VBA

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

водстве Excel.

В Excel 2002 новые операторы VBA не добавлялись.

I

••••»

Оператор

Действие

A p p A c t i v a t e

Активизирует окно приложения

веер

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

c a l l

Передает управление другой процедуре

c h D i r

Меняет текущую папку

c h D r i v e

Меняет текущий диск

close

Закрывает текстовый файл

c o n s t

Объявляет значение константы

D a t e

Устанавливает текущую системную дату

D e c l a r e

Объявляет ссылку на внешнюю процедуру в библиотеке DLL

D e f B o o l

Устанавливает Boolean в качестве типа по умолчанию для переменных, имена ю-

 

торых начинаются с определенных символов

Def B y t e

Устанавливает Byte в качестве типа по умолчанию для переменных, имена кото-

 

рых начинаются с определенных символов

Def D a t e

Устанавливает Date в качестве типа по умолчанию для переменных, имена кото-

 

рых начинаются с определенных символов

DefDec

Устанавливает Decimal я качестве типа по умолчанию для переменных, имена ко-

 

торых начинаются с определенных символов

De £ Double

Устанавливает Double в качестве типа по умолчанию для переменных, имена ко-

 

торых начинаются с определенных символов

Def mt

Устанавливает Integer в качестве типа по умолчанию для переменных, имена ко-

 

торых начинаются с определенных символов

D e f L n g

Устанавливает Long в качестве типа по умолчанию для переменных, имена кото-

 

рых начинаются с определенных символов

Def o b j

Устанавливает Object в качестве типа по умолчанию для переменных, имена ко-

 

торых начинаются с определенных символов

Def sng

Устанавливает Single в качестве типа по умолчанию для переменных, имена кото-

 

рых начинаются с определенных символов

Def str

Устанавливает String в качестве типа по умолчанию для переменных, имена кото-

 

рых начинаются с определенных символов

Def V a r

Устанавливает Variant в качестве типа по умолчанию для переменных, имена ко-

 

торых начинаются с определенных символов

D e l e t e S e t t i n g

Удаляет параметр или раздел приложения из системного реестра

Dim

Объявляет массив

Do-Loop

Цикл

2 n d

Если используется сам по себе, то завершает выполнение программы; кроме то-

 

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

 

ПОМОЩЬЮ Операторов I f , Sub, Function, Property, Type И Select

Enum*

Объявляет тип перечисления

E r a s e

Повторно инициализирует массив

Error

Имитирует определенное ошибочное состояние

744

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

 

 

 

 

Продолжениетабл.Б.1

Оператор

 

Действие

 

Event *

 

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

 

E x i t

Do

 

Выход из блока операторов Do-Loop

 

Exit

For

Выход из блока операторов Do-For

 

Exit

Function

Выход из процедуры Function

 

Exit

Property

Выход из процедуры свойства

 

E x i t

sub

Выход из подпрограммы

,

Filecopy

Копирует файл

 

For Each-Next

Цикл

 

For-Next

Цикл

 

F u n c t i o n

Объявляет имя и аргументы процедуры F u n c t i o n

Get

 

 

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

 

GoSub... Return

Осуществляет передачу управления

 

GOTO

 

 

Осуществляет передачу управления

 

If-Then-Else

Выполняет условный оператор

 

implements*

Указывает интерфейс или класс, которые будут реализованы в модуле класса

i n p u t

#

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

Kill

 

 

Удаляет файл с диска

 

b e t

 

 

Присваивает значение выражения переменной или свойству

L i n e

I n p u t #

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

Load

 

 

Загружает, но не отображает объект

 

L o c k . . . u n l o c k

Управляет доступом к текстовому файлу

 

Lset

 

 

Выравнивает строку по левому краю в пределах строковой переменной

Mid

 

 

Замещает строку символов другими символами

 

MkDir

 

 

Создает новую папку

 

Name

 

 

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

 

on Error

Передает управление в случае возникновения ошибки

o n . . . GoSub

Выполняет условную передачу управления

 

o n . . . GOTO

Выполняет условную передачу управления

 

open

 

 

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

 

o p t i o n

Base

Меняет нижний предел, принятый по умолчанию

 

o p t i o n

compare

Объявляет режим сравнения, используемый по умолчанию при сравнении строк

option Explicit Требует объявления всех переменных в модуле

 

Option

P r i v a t e

Указывает, что весь модуль имеет область действия p r i v a t e

print #

Записывает данные в файл с последовательным доступом

Private

Объявляет локальный массив или переменную

 

P r o p e r t y Get

Объявляет имя и аргументы процедуры P r o p e r t y Get

Приложение

 

745

Оператор

Property Let Property set Public

P u t

R a i s e E v e n t Randomize ReDim

Rem

Reset

Resume

RmDir

Rset

S a v e s e t t i n g Seek

S e l e c t Case sendKeys

s e t SetAttr static s t o p sub Time Туре

u n l o a d

While. . .Wend

w i d t h

#

with

 

w r i t e

#

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

Действие

Объявляет имя и аргументы процедуры property Let Объявляет имя и аргументы процедуры property Set Объявляет общедоступную переменную или массив

Записывает переменную в текстовый файл Провоцирует возникновения события, определенного пользователем Инициализирует генератор случайных чисел Меняет размерность массива

Указывает строку комментария (так же, как и апостроф [']) Закрывает все открытые текстовые файлы

Продолжает выполнение после завершения процедуры обработки ошибки

Удаляет пустую папку

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

Устанавливает позицию для доступа в текстовом файле Условная обработка операторов Отправляет комбинацию клавиш активному окну

Назначает ссылку иа объект переменной или свойству Изменяет информацию об атрибутах файла Изменяет размерность массива, сохраняя данные

Останавливает выполнение программы Объявляет имя и аргументы процедуры s u b Устанавливает системное время Определяет пользовательский тип Удаляет объект из памяти

Цикл

Устанавливает ширину строки в текстовом файле Устанавливает последовательность свойств объекта

Записывает данные в текстовый файл с последовательным доступом

Вызов функций Excel с помощью операторов VBA

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

Deg = Application . WorksheetFunct ioji.Degrees (3 .14)

746

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

Объект WorksheetFunction впервые был предоставлен в Excel 97. Для совместимости с более ранними версиями Excel ссылку на объект WorksheetFunction можно опустить и записать оператор следующим образом:

Deg = Application.Degrees(3.14}

В Excel 2002 новых функций VBA не появилось.

Таблица Б.2. Список функций VBA

Функция

Действие

Abs

Возвращает модуль числа

A r r a y

Возвращает массив

A S C

Преобразует первый символ строки в значение ASCII

A t n

Возвращает арктангенс числа

саИвумаше

Выполняет метод или устанавливает возвращает свойство объекта

c b o o l

Приводит выражение к типу Boolean

c b y t e

Приводит выражение к типу Byte

Ccur

Приводит выражение к типу Currency

c d a t e

Приводит выражение к типу Date

CDbl

Приводит выражение к типу Double

cdec

Приводит выражение к типу Decimal

choose

Выбирает и возвращает значение из списка аргументов

c h r

Преобразует код символа в символ

c i n e

Приводит выражение к типу Integer

CLng

Приводит выражение к типу Long

Cos

Возвращает косинус числа

C r e a t e o b j e c t

Создает объект OLE Automation

csng

Приводит выражение к типу Single

cstr

Приводит выражение к типу String

C u r D i r

Возвращает текущую папку

Cvar

Приводит выражение к типу Variant

CVDate

Приводит выражение к типу Date (предназначена для обеспечения совместимости;

 

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

c v E r r

Возвращает определенное пользователем значение ошибки, которое соответству-

 

ет номеру ошибки

Date

Возвращает текущую системную дату

DateAaa

Добавляет к дате время

D a t e D i f f

Возвращает интервал времени между двумя датами

D a t e P a r t

Возвращает указанную часть даты

Dateseriai

Преобразует дату в последовательное число

Приложение

747

 

Продолжениетабл.Б.2

Функция

Действие

DateVAlue

Преобразует строку в дату

Day

Возвращает число месяца для определенной даты

DDB

Возвращает амортизацию актива

Dir

Возвращает имя файла или папки, которые соответствуют шаблону

DoEvents

Прекращает выполнение, предоставляя операционной системе возможность обра-

 

батывать другие события

Environ

Возвращает строку с названием рабочей среды

EOF

Возвращает True, если достигнут конец текстового файла

Err

Возвращает число, которое соответствует номеру ошибки

E r r o r

Возвращает сообщение об ошибке, которое соответствует номеру ошибки

ЕХР

Возвращает основу натурального логарифма (е), возведенного в степень

FileAttr

Возвращает режим текстозого файла

FileDateTime

Возвращает дату и время последней модификации файла

F i l e L e n

Возвращает размер файла в байтах

Filter

Возвращает отфильтрованное подмножество массива символов

Fix

Возвращает целую часть числа

Format

Отображает сообщение в определенном формате

Formatcurrency*

Возвращает выражение в формате валюты (указывается настройками системы)

FormatDateTime

Отображает выражение в формате даты и времени

FormatNumber

Отображает выражение в формате числа

Formatpercent

Возвращает процентное выражение

FreeFile

Возвращает следующий доступный номер файла для работы с текстовыми файлами

FV

Возвращает будущее значение ежегодной ренты

GetAiisettings

Возвращает список параметров и разделов системного реестра

G e t A t t r

Возвращает код, представляющий атрибуты файла

Getobj e c t

Получает из файла объект OLE Automation

G e t s e t t i n g

Возвращает определенный параметр из раздела приложения системного реестра

нех

Преобразует десятичное число в шестнадцатеричный формат

Hour

Возвращает час времени

IIF

Оценивает выражение и возвращает одну из двух частей

input

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

i n p u t B o x

Отображает окно, запрашивающее данные у пользователя

instr

Возвращает позицию строки в другой строке

i n s t r R e v *

Возвращает позицию строки в другой строке, начиная с конца

mt

Возвращает целую часть числа

ipmt

Возвращает объем процентных выплат за определенный период ежегодной ренты

IRR

Возвращает внутреннюю ставку прибыли для последовательности денежных потоков

i s A r r a y

Возвращает значение True, если переменная является массивом

748

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

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