Стив Каммингс - VBA для чайников

Тут можно читать онлайн Стив Каммингс - VBA для чайников - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Компьютерное издательство Диалектика, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    VBA для чайников
  • Автор:
  • Жанр:
  • Издательство:
    Компьютерное издательство Диалектика
  • Год:
    2002
  • Город:
    Москва
  • ISBN:
    нет данных
  • Рейтинг:
    4.09/5. Голосов: 111
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Стив Каммингс - VBA для чайников краткое содержание

VBA для чайников - описание и краткое содержание, автор Стив Каммингс, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

VBA для чайников - читать онлайн бесплатно полную версию (весь текст целиком)

VBA для чайников - читать книгу онлайн бесплатно, автор Стив Каммингс
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

"Вы встретите своего старого друга в супермаркете."

intUserChoice = InputBox("Чтобы узнать свое будущее," _

& " введите число от 1 до 10")

MsgBox (strTodaysFortune(intUserChoice))

Кстати, этот программный код можно существенно улучшить, если добавить в него обработку неправильного ввода, возможного при ответе пользователя на запрос функции Input Box. О проблемах проверки данных при вводе говорилось в главе 10.

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

UBound [имя_массива, измерение]

Аргумент имя_массива, очевидно, задает имя массива, к которому нужно обратиться, а аргумент измерение задает целое число, которое подскажет VBA, какое измерение массива вас интересует. Если измерение не указано, функция UBound возвратит размер первого измерения массива.

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

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

Const Size As Integer = 3

Dim dblMatrix (1 To Size, l To Size, l To Size) As Double

Sub ArrayFiller ( )

Dim I As Integer, J As Integer, К As Integer, X As Integer

X = 1

For I = 1 To Size

For J = 1 To Size

For К = 1 To Size

dbl Matrixf l, J, K) = X

X = X + 1

Next К

Next J

Next I

End Sub

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

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

Иллюстрация этого мысленного эксперимента показана на рис. 13.2.

Рис. 13.2. Этот чертеж представляет массив для хранения данных; стрелки с буквами соответствуют измерениям массива

Обратите внимание на то, что в главной строке этого программного кода, dblMatrix ( I, J, К) = X, переменные I, J и К представляют соответственно первое, второе и третье измерения массива. На рис. 13.2 я произвольным образом назначил эти буквы сторонам куба, задающим его измерения.

Теперь посмотрите, как эти переменные используются в циклах For . . . Next. Счетчиком внешнего цикла является I, следующего- J и последнего, внутреннего, - К. Нужно понять, что VBA начнет выполнение с внутреннего цикла, пройдя к нему сквозь все содержащие его циклы. Кубы на рис. 13.3 показывают два последовательных момента в самом начале заполнения массива из этого примера.

Л пока этот внутренний цикл выполняется, VBA не меняет значения переменных I и J. Когда внутренний цикл первый раз пройден полностью, первый раз получит возможность сделать шаг следующий цикл- цикл J. Это увеличит значение J- и снова начнется выполнение внутреннего цикла от начала до конца. Значение изменится только тогда, когда цикл F выполнен все три раза. После увеличения начинает заполняться следующий слой массива (рис. 13.4).

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

Рис. 13.3. Эти два чертежа иллюстрируют последовательность, в которой процедура-пример заполняет массив по мере выполнения внутреннего цикла For. . .Next:

For K = 1 To Size

For J = 1 To Size

For I = 1 To Size

dblMatrix(I, u, K) = X

X = X + 1

Next I

Next J

Next K

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

Рис. 13.4. Второй слой массива начнет заполняться только после того, как изменит значение счетчик самого внешнего цикла For. . . Next

Рис. 13.5. Этот чертеж иллюстрирует порядок заполнения массива измененной процедурой

Массив будет содержать те же значения, что и в первом случае, но они хранятся иными элементами массива.

В VBA 6 можно присвоить содержимое одного массива другому с помощью простого оператора наподобие

strMaccивКопия = strИсходныйМассив

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

В VBA 5 вам придется копировать данные массива поэлементно, примерно так:

' выяснение размера исходного массива и

' соответствующее переопределение второго массива

intРазмерМассива = UBound(strИсходныйМассив)

Re Dim strМассивКопия (intРазмерМассива)

' выполнение копирования

For I = 0 To intРазмерМассива

strМассивКопия (I) = strИсходныйМассив (I)

Next I

Управление наборами данных с помощью объектов Collection

Если нужно работать с наборами элементов информации, создайте для этой информации объект Collection (Коллекция). Как уже говорилось в главе 12, в VBA родовой класс Collection предназначен для хранения практически всего, что только возможно. На основе этого класса можно создать любое число объектов Collection. Коллекции используются для хранения других объектов, но точно так же коллекции можно использовать и для хранения данных почти любых из допустимых в VBA типов.

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

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

Если вы чувствуете себя вполне уверенно при работе с объектами VBA, то использование объектов Collection для управления множествами элементов может оказаться для вас более простым, чем использование массивов. Методы Add и Remove позволяют без труда изменять размеры коллекции, и при этом вероятность возникновения ошибок будет меньше, чем при использовании оператора ReDim в разных частях программы. (Эти преимущества становятся особенно важными, если необходимо часто добавлять и удалять элементы группы.)

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стив Каммингс читать все книги автора по порядку

Стив Каммингс - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




VBA для чайников отзывы


Отзывы читателей о книге VBA для чайников, автор: Стив Каммингс. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x