Реферат: Описание VBA
ВВЕДЕНИЕ
Microsoft Excel имеет встроенный язык программирования — Visual Basicfor Аpplications (VBA). Этот язык позволяет создавать приложения, выполняемые всреде Microsoft Office. Это могут быть разнообразные аналитические программы,финансовые системы, программы учета кадров, системы автоматического созданияофициальных писем/документов с помощью библиотеки готовых шаблонов и т.п. Приэтом интерфейс создаваемой программы может быть совершенно непохожим на интерфейстого приложения, в котором она написана.
VBA сочетает в себе практическинеограниченные возможности с простотой изучения и использования. Теперьбольшинство функций можно описать, не прибегая к программированию. В томслучае, если возможностей языка недостаточно, можно обратиться к API-функциямWindows. Пожалуй, самое главное достоинство VBA в том, что этот язык являетсяединым для всех офисных приложений Microsoft и поэтому позволяет связывать ихмежду собой. Уже сейчас из программы, написанной в Excel, можно обращаться кобъектам Word для Windows, а также Microsoft Project. Это открывает заманчивыеперспективы. Представьте, что пользователь на конкретном рабочем месте долженна основе некоторых данных, извлекаемых из базы, делать их анализ, строитьдиаграммы и проектировать деятельность организации, а также автоматическивыполнять рассылку этих обработанных данных по некоторым адресам вместе ссопроводительным письмом. Все это можно сделать средствами офисных продуктовMicrosoft, однако при этом пользователь должен в совершенстве овладеть каждымиз них. В случае если программа для решения этой задачи написана на VBA,пользователю придется изучить только ее.
Программа MS Excel, являясь лидером на рынке программ обработки электронных таблиц, определяеттенденции развития в этой области. Вплоть до версии 4.0 программа Excel представляла собой фактический стандарт с точки зренияфункциональных возможностей и удобства работы.
Одним из важнейших функциональныхрасширений программы, предназначенным для профессионалов, являетсявстроенная в Excel Среда программирования Visual Basic (VBA) длярешения прикладных задач. Благодаря VBA фирме Microsoft удалось не только расширить возможности языка макрокоманд Excel 4.0, но и ввестиновый уровень прикладного программирования, поскольку VBA позволяетсоздавать полноценные прикладные пакеты, которые по своим функциям выходятдалеко за рамки обработки электронных таблиц.
Краткое описание VBA
VisualBasic for Applications представляет собой новаторское достижение в языкахпрограммирования, возможно наиболее значительное с тех пор, как состоялсявыпуск первой интегрированной среды разработки. Это означает, не то что VBA —лучшее средство разработки, а лишь то, что VBA существует.Visual Basic, вероятно, самое популярное средство разработки, и теперь совершенно неожиданноэтот язык включен в не менее популярный комплект прикладных программ.
Посколькуосновой приложений Microsoft послужил один и тот же языкпрограммирования, вероятно, многим придет в голову мысльвоспользоваться им. Точно так же, как пользователям Windows для подготовкимножества программ необходимо освоить один интерфейс, в VBA достаточноизучить одну среду программирования, чтобы составлять разнообразныеприложения. Около 40 компаний — производителей программного обеспечениязаключили с корпорацией Microsoft соглашение овключении VBA в их продукты. Первой из этих компаний на рынок вышла фирма Visio Corp., котораяинтегрировала VBA в пакеты Visio Professional и Visio Technical, версия 4.5.Можно ожидать от таких фирм агрессивной рыночнойполитики в отношении VBA, поскольку с этим языком их продукты оказались взаметном выигрыше. Настоящее имя VBA — Visual Basic ApplicationEdition, и он на самом деле относится к семейству VB, следовательно,вызывает повышенный интерес как самостоятельное инструментальное средство.
Встраивание VBAв какое-то приложение означает для него создание объектной модели, в результатеVBA-программа может обращаться к объектам этого приложения иманипулировать ими. Для изделий фирмы Visio к числу таких объектов могутотноситься как прямоугольник на рисунке, так и сам рисунок, а объектная модельраспространяется на все эти элементы.
А приложение собъектной моделью и VBA — это уже часть арсенала разработчика. Предположим, например,что вы хотите составить программу, с помощью которой можно было быподготовить схему расстановки мебели и оборудования на кухне, а затем распечататьсписок предметов и цен. Для этой программы нужна база данных синформацией о предметах кухонной обстановки и какой-либо способ визуализацииизображения кухни.
Точно так же,как можно составить макрокоманду Office, которая обращается к программамWord и Excel, можно разработать VBA-программу,сочетающую в себе средства Access и Visio. Составное приложениедля планировки кухни можно считать неким гибридом Access с механизмомчерчения или Visio с базой данных.
VBA — собственноеподмножество VB5, но на самом деле в VBA есть почтивсе, что можно найти в VB5. Надо признать, что незначительные отличия все жеимеются (например, запуск из Word, а не в автономном режиме), но влюбом случае программирование осуществляется одинаково. Объектные моделиOffice 97 имеют силу до тех пор, пока выполняются приложения, которым онипринадлежат, поэтому и VBA, и VB5 могут манипулировать ими. Vs Мы видим, чтоот аналогичной в VB5 интегрированная среда разработки в VBA почти ничем неотличается.
ПРИМЕР ВЗАИМОДЕЙСТВИЯ EXCEL И VISUAL BASIC
Начиная с версии 5.0 в программу Excel включен специальный язык программирования, который получил название Visual Basic for Applications (VBA).
Введение достаточно мощного языка программирования в Excel делает эту программную платформувесьма привлекательной для профессионалов, которые занимаются разработкой специализированных прикладных систем.
Разработка языкапрограммирования VBA, встраиваемого в прикладные системы, является одним из стратегических направлений компании Microsoft. Этот язык ужеинтегрирован в такие программы, как Word for Windows, Power Point и ряддругих. VBA позволяет создавать программные модули, меню, диалоговые окна и другие ресурсы в среде Windows. Благодаря этому языкупоявляется возможность значительно расширить набор функций в Excel, а такжесоздавать функции, значения которых зависят от некоторых условий и событий. В принципе, можно полностью перепрограммировать все функции программыExcel, если в этом появилась необходимость.
Программированиетабличных функций.
Чтобы создать отдельный рабочий лист для программного модуля, щелкните по пиктограмме Insert Module из пиктографического меню Visual Basic (1-я пиктограмма) или вызовите директиву Module из меню Insert Macro. После этого появится новый рабочий лист «Modele1». В программноммодуле нужно описать функцию на языке VBA. В окне программного модуля можно работать, как в окне небольшого текстового редактора, но при этомнеобходимо помнить, что Вы пишите текст программы. Описание функции должно начинаться оператором Function, за которым через пробел следуют названиефункции и ее аргументы, заключенные в скобки и разделенные запятыми. Затем идет собственно текст программного кода функции, а заканчиваться описание должно оператором End Function.
Если в текстепрограммного кода имя определяемой функции будет находиться в левой части оператора присваивания (обозначаемого знаком равенства), топрисвоенное значение и будет результатом вычисления функции при заданныхаргументах. В качестве примера можно рассмотреть функцию, котораявычисляет налог на добавленную стоимость.
Function NDS(Value)
NDS=Value*0.15
End Function
Встраиваниефункций.
Щелкните по 3-й пиктограмме Object Browser из пиктографического меню VBA или вызовитеодноименную директиву из меню View.
Функции, определенные пользователем, рассматриваются в программе Excel как самостоятельные объекты. В поле списка Methods/Properties: будет находиться имя новой функции. Щелкните мышью сначала по имени, а затем по командной кнопке Options,тогда откроется диалоговое окно Macro Options. В поле Description: введите поясняющий текст, который позднее будет использован Конструкторомфункций. В списке Function Category укажите категорию, вкоторую Вы хотите записать свою функцию. Например, функцию, вычисляющую налогна добавленную стоимость, следует поместить в категорию Financial. В дальнейшем Конструктор функций поместит Вашу функцию в указанную Вамикатегорию. Закройте окно Macro Options щелчком по командной кнопке OK, а окно Object Browser — кнопкойClose.
Применениефункций.
Перейдите на рабочийлист, где будет расположена таблица. Переместите указатель ячеек в ячейку, в которой будет находиться формула, и введите в нее знак равенства. Затем щелкните по 14-й пиктограмме Конструктора функций на основнойпиктографической панели.
Появится диалоговое окноКонструктора функций. На первом шаге выберите категорию Financial и вправом поле найдите свою функцию NDS. Щелкните по названию этой функции, после чего перейдите к следующему шагу, щелкнув по командной кнопке Next.
Откроется второедиалоговое окно Конструктора функций. Здесь можно будет увидеть Вашкомментарий к функции, который был введен ранее в окне макроопций. Укажите единственный аргумент для этой функции Value и закройте диалоговоеокно Конструктора щелчком по кнопке Finish.
В таблице появитсязначение, составляющее 15% величины аргумента. В таблице с этой функцией можно работать как с обычной функцией программы Excel.