Использование языка программирования VBA
Содержание
Введение
………………………………………………………………………….. 3
- Описание языка VBA и системы программирования в Office…………….5
1.1.Типы
данных………………………………………………………………
- Описание
переменных……………………………………………………
…6 - Описание
массивов…………………………………………………………
..8 - Операторы языка и управляющие конструкции…………………………..9
- Операторы языка и управляющие конструкции…………………………..11
2. Решение задачи-теста для написания и отладки программы…………….14
3. Анализ
полученных результатов……………………
4. Инструкция пользователю и описание программы………………………18
- Описание
переменных……………………………………………………
.18
- Входные и выходные данные…………………………………………….19
- Подробное описание задач……………………………………………….20
4.3.1.Составление ведомости расчета прибыли от товара………………….21
- Модель управления запасами ………………………………………….21
- Задание на нахождение оптимального раскроя………………………22
- База данных………………………………………………………………
24
4.4.Описание
интерфейса……………………………………………………
- Функция пользователя………………………………………………
……28
- Переменные
и постоянные………………………………………………
.30
- Стандартные
функции пользователя для работы с массивами
и матрицами………………………………………………………
……………….30
- Объекты, свойства и методы VBA………………………………………..31
- Операторы цикла………………………………………………………….32
Заключение……………………………………………………
Список
литературы……………………………………………………
Приложения……………………………………………………
Введение
Стремительное развитие и распространение новых информационно-коммуникационных технологий в результате научно-технического прогресса оказывает возрастающее влияние на политику, экономику, науку и другие сферы жизнедеятельности общества, как в рамках национальных границ, так и в мире в целом. Информация и знания становятся одним из стратегических ресурсов государства, масштабы использования которого стали сопоставимы с использованием традиционных ресурсов, а доступ к ним - одним из основных факторов социально-экономического развития. Происходящие при этом социальные и экономические процессы обусловливают качественные изменения, как в политической сфере общества, так и в духовной жизни человека, определяют формирование нового типа общества, основу которого составляет подрастающее поколение. Формируются социальные отношения, определяющие качественно новые требования к содержанию и организации деятельности школ, к совершенствованию методологических и технологических основ учебно-воспитательного процесса, способствующих созданию максимально благоприятных условий для творческой деятельности и творческого саморазвития учащихся.
Методы
и средства обучения тесно взаимосвязаны
между собой. Информационные технологии
по самой своей сути несут огромный дидактический
потенциал, потому что умение обрабатывать
информацию определяет возможности и
роль ученика в педагогическом процессе.
Активная компьютеризация школ приводит
к необходимости формирования операционного
стиля мышления, важного не только для
общения с компьютером, но и необходимого
в современном информационном обществе
каждому человеку, независимо от прикладных
задач его профессиональной деятельности.
В образовательной области «Информатика и информационные технологии» остается актуальным содержание перерабатываемой информации. Эти технологии развиваются настолько быстро, что практически отсутствует время для совершенствования методик качественного преподавания. Насыщенность технологии большим количеством приемов, которые в свою очередь дублируются, затрудняет выбор оптимальных методов обучения.
В ходе реформирования системы образования, для реализации индивидуального подхода к обучению, формирования устойчивых мотивов, развития творческих способностей учащихся, интеграции образовательных областей активное распространение получает проектная деятельность. Ряд особенностей этого метода позволяют широко использовать средства ИКТ -текстовые редакторы; вычислительные методы, программирование, телекоммуникации, технологии гипертекста, интерактивные мультимедиа. Одновременно с этим существует разрыв между методами обучения и некоторыми технологиями. Например, слабо используются возможности программирования при построении моделей различных процессов, изучаемых в других предметных областях.
Цель исследования. Выявить и обосновать характеристики и особенности методов применения объектно-ориентированного языка программирования VBA при организации проектной деятельности учащихся старших классов.
Объект
исследования. Процесс учебной проектной
деятельности учеников старших классов
общеобразовательной школы.
Предмет исследования. Применение объектно-ориентированного
языка программирования VBA в проектной
деятельности учащихся-старшеклассников.
Гипотеза
исследования заключается в предположении,
что особенности языка программирования
Visual Basic for Application как элемента ИКТ при условии
его применения в проектной деятельности
учащихся будут способствовать повышению
познавательной и социальной мотивации
школьников.
- Теоретические основы VBA
- Описание языка VBA и системы программирования в Office
Операционная система Windows корпорации Microsoft обладает изумительно удобным интерфейсом и множеством интеллектуальных средств, которые освобождают пользователя от рутинной работы, присущей другим операционным системам. Естественным и незаменимым дополнением этой операционной системы являются программные продукты Microsoft Office, которые даже начинающему пользователю позволяют с легкостью создавать идеальную по своему оформлению документацию, производить финансовые, инженерные и прочие расчеты, создавать и работать с базами данных, конструировать презентации и слайды. Вместе, операционная система Windows и программные продукты Microsoft Office, покорили весь мир. Корпорация Microsoft интегрировала в свои офисные продукты, в саму операционную среду изумительный по простоте и необычайный по своей эффективности язык программирования Visual Basic for Applications или сокращенно VBA. С помощью этого языка теперь каждый пользователь может автоматизировать работу приложения и максимально приспособить его работу для решения текущих задач, не только добавив интерфейсу новую функциональность, но и удалив из него ненужные для данного приложения элементы, тем самым обеспечив ему дополнительную стабильность.
Возможности VBA совсем не уступают другим системам программирования Windows и постоянно растут. К тому же многие системы программирования в Windows и VBA используют общие библиотеки объектов, среди которых – объекты Excel, Word и т.д.
1.2.Типы данных
Типы
данных относятся к фундаментальным
понятиям любого языка. Тип данных определяет
множество допустимых значений, которое
может принимать указанная
- Byte (байтовый);
- Boolean (логический);
- Integer (целый);
- Long (длинный целый);
- Single (с плавающей точкой обычной точности);
- Double (с плавающей точкой двойной точности);
- Currency (денежный);
- Decimal (масштабируемый целый);
- Date (даты и время);
- Object (объектный);
- String (строковый);
- Variant (произвольный);
- тип данных, определяемый пользователем;
- специфические типы объектов.
Для хранения целочисленных данных предназначены типы Integer (диапазон значений от –32768 до 32767, в оперативной памяти занимает два байта) и Long (диапазон значений от –2147483648 до 21447483648 и в оперативной памяти занимает четыре байта). Аналогично, для хранения десятичных чисел с плавающей точкой представлены типы данных Single (диапазон от –3,4Е38 до –1,4Е-45 для отрицательных чисел и от 1,4Е-45 до 3,4Е38 для положительных чисел, в оперативной памяти занимает четыре байта) и Double (диапазон от –1,7Е-308 до –4,9Е-324 для отрицательных чисел и от 4,9Е-324 до 1,7Е308 для положительных чисел, в оперативной памяти занимает 8 байтов). Для хранения чисел с фиксированной точкой служит тип Currency. Переменная данного типа занимает в оперативной памяти 8 байт. Целая часть числа может содержать до 15 цифр, а дробная – до 4.
Используя переменные строкового типа, можно хранить строки как фиксированной, так и переменной длины. Для переменной, имеющей тип строки с фиксированной длинной, указывается максимальная длина строки. Если длина строки, присваиваемая этой переменной, меньше заданной длины строки, то оставшиеся свободные места заполняются пробелами. При присвоении переменной строки, количество символов которой превышает максимальное значение, все лишние символы отбрасываются. Количество символов, хранящихся в строке с переменной длиной, определяется длинной присваиваемых ей данных. При использовании ASCCII кодировки для каждого символа строки выделяется один байт, а при использовании кодировки Unicode – два байта. Кроме этого выделяется 10 байт для строки в целом.
Для хранения двоичных данных рекомендуется использовать массив переменных типа Byte. Каждый элемент массива данного типа занимает один байт оперативной памяти.
Логический тип данных Boolean используется для хранения данных, принимающих одно из двух значений: True или False. По умолчанию переменной данного типа присваивается значение False. В оперативной памяти она занимает два байта.
Тип данных Date используется для хранения даты и времени. Переменная этого типа требует 8 байт в оперативной памяти.
Тип данных Variant является универсальным. Переменная этого типа может хранить любой из выше перечисленных типов данных. Все необходимые преобразования выполняются при присвоении переменной значения. Выделяемый переменной объем оперативной памяти зависит от типа присвоенного значения, но не может быть менее 16 байт.
Для хранения ссылок на объекты используется тип данных Object. Каждая переменная данного типа требует 4 байта.
При
разработке программ в среде VBA в
зависимости от типа данных переменных
рекомендуется использовать префиксы,
приведенные в таблице 2.1
Таблица 1.1.
Префиксы,
используемые в наименованиях переменных
| Тип данных | Префикс | Пример |
| Boolean | bin | binSuc |
| Byte | byt | bytImege |
| Currency | cur | curPrn |
| Date | dtm | dtmFinish |
| Double | dbl | dblSum |
| Integer | int | intKol |
| Long | Ing | IngLoop |
| Single | sng | sngTotal |
| String | str | strLast |
| Variant | vnt | vntValui |
1.3. Описание переменных
Термины время жизни и область видимости переменной означают место использования переменной в приложении, а также время существования переменной после ее создания.
Область
видимости переменной определяет часть
кода, которая «знает» о
- переменные уровня процедуры распознаются только в процедуре, в которой они описаны. Они описываются при помощи инструкций Dim или Static. Такие переменные называются локальными;
- переменные уровня модуля используются только в модуле, в котором они описаны, но не в других модулях данного проекта. Описываются при помощи оператора Dim или Private в области описания модуля, т.е. перед описанием процедур;
- переменные уровня модуля, описанные при помощи инструкции Public, являются доступными для всех процедур проекта. Такие переменные называются открытыми.
Закрытая (Private) переменная сохраняет свое значение, только пока выполняется процедура, в которой эта переменная описана. При завершении процедуры значение переменной теряется, и при повторном запуске процедуры его надо заново инициализировать. Переменные, описанные оператором Static, сохраняют свое значение по выходу из процедуры, пока работает программа.
Для
обязательного объявления всех переменных
в начале модуля, в так называемой области
модуля General Declarations, надо поместить директиву
Option Explicit. Использование этой директивы
не допускает возможности неправильного
ввода имени переменной, которая применяется
в одной или не - скольких процедурах
модуля. Например, если переменная была
объявлена как Ставка, а в коде при наборе
вместо русской буквы с была использована
латинская буква с, то это приведет к ошибке.
В отсутствие директивы Option Explicit подобную
ошибку было бы трудно отследить.
- Описание массивов
Как и в других языках программирования, в VBA можно использовать массивы. Массив, как и любую переменную, надо объявлять, используя операторы Dim, Static, Private и Public, которые также задают область видимости переменной. В массиве допускается описание до 60 размерностей. При определении размерности надо указывать верхнюю, а также нижнюю границу. Если нижний индекс не задан явно, нижняя граница массива определяется директивой Option Base. Если отсутствует директива Option Base, нижняя граница массива равняется нулю. Например, в следующем операторе объявляется одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива – А (0), а последний – А (11). В этом случае говоря, что 0 – базовый индекс.
Dim А (11) As Integer
Данный же оператор объявляет двухмерный массив 3´3 (матрицу), состоящий из действительных чисел.
Dim B (2, 2) As Single
Можно изменить базовый индекс, написав в области объявлений модуля директиву Option Base 1. После этого индексы массивов А и В будут начинаться с единицы. Например, в следующем операторе объявляется вектор, состоящий из 11 элементов.
Option Base 1
Dim A (11) As Integer
Другим способом изменения базового индекса является использование ключевого слова То при объявлении массива.
Dim B (1 To 3, 1 To 3) As Single
Dim A (1 To 12) As Integer
Инициализацию
элементов массива можно
- последовательностью операторов:
Dim B (1, 1) As Single
B (0, 0) = 2 : B (0, 1) = 4
B (1, 0) = 1 : B (1, 1) = 6
- оператором цикла:
Dim M (1 To 9, 1 To 9) As Integer
Dim i As Integer
Dim j As Integer
For i = 1 To 9
For j = 1 To 9
M (i, j) = i * j
Next
Next
Иногда в процессе выполнения программы требуется изменять размер массива. В этом случае первоначально массив объявляют как динамический. Для этого при объявлении массива не надо указывать размерность, например:
Dim R () As Single
Затем в программе следует вычислить необходимый размер массива в некоторой переменной, например n, и изменить размер динамического массива с помощью оператора ReDim. В следующем примере сначала объявляется динамический массив, а затем устанавливаются границы его индекса.
Dim R () As Double
ReDim
R (1 To 10)
- Операторы языка и управляющие конструкции
Математические
операторы позволяют выполнять
в программе действия над числами.
В таблице 1.2 приведены арифметические
операторы и выполняемые ими функции.
Таблица 1.2.
Префиксы, используемые в наименованиях переменных
| Операция | Знак | Запись | Типы данных | Действие |
| Сложение | + | a + b | Byte, Short, Integer, Long, Single, Double, Decimal | Складывает два числа |
| Вычитание | - | a - b | Byte, Short, Integer, Long, Single, Double, Decimal | Вычитает из
одного
числа другое |
| Деление | / | a/b | Byte, Short, Integer, Long, Single, Double, Decimal | Делит два числа
и
возвращает результат с плавающей точкой |
| Деление
нацело |
\ | a\b | Byte, Short, Integer, Long, Single, Double, Decimal | Делит два числа
и
возвращает целый результат (остаток отбрасывается) |
| Остаток | Mod | a Mod b | Byte, Short, Integer, Long, Single, Double, Decimal | Вычисляется остаток
от деления одного числа на другое |
| Умножение | * | а * b | Byte, Short, Integer, Long, Single, Double, Decimal | Умножает два числа |
| Возведение
в степень |
^ | a ^ b | Byte, Short, Integer, Long, Single, Double, Decimal | Возводит число в степень |
Математические операторы предназначены для создания выражений. Выражения могут содержать переменные, константы, функции, связанные более чем одним оператором. Если в выражении отсутствуют скобки, то операторы выполняются в следующем порядке:
- возведение в степень;
- умножение и деление;
- деление нацело;
- взятие остатка от деления;
- сложение и вычитание.
Можно изменить порядок вычисления в выражении, используя круглые скобки.
В VBA, как и во всех языках программирования, существуют управляющие конструкции, предназначенные для управления порядком выполнения команд. Различают два основных типа управляющих операторов:
- If
- Select..Case
Конструкция If используется в том случае, когда необходимо, чтобы группа операторов выполнялась при соблюдении определенных условий. Конструкция Select..Case позволяет на основании анализа значения заданного выражения выполнять те или иные действия.
В свою очередь, управляющие операторы if бывают двух видов:
- If...Then
- If...Then...Else
Конструкция If...Then применяется, когда необходимо выполнить определенные действия в зависимости от некоторого условия. Управляющая конструкция If...Then...Else используется в том случае, когда необходимо выполнить разные действия в зависимости от условия. Конструкция If.. .Then.. .Else аналогична конструкции If...Then, но позволяет задать действия, исполняемые как при выполнении условий, так и в случае их невыполнения.
Основанием для принятия решений в управляющих конструкциях являются условные выражения, поэтому предварительно необходимо сказать несколько слов об этих выражениях и работе с ними.
Условные
выражения – это такие
Таблица 1.3.
Операторы сравнения для условных выражений
| Операция | Знак |
| Меньше | < |
| Меньше или равно | <= |
| Больше | > |
| Операция | Знак |
| Больше или равно | >= |
| Равно | = |
| Не равно | <> |
Над условными выражениями можно выполнять действия логической математики (логические операции). К логическим побитовым операциям относятся операции And, Or, And Also, Or Else, Xor, Not.Операция Not имеет один операнд, остальные – по два операнда.
Ключевые слова IF и End If имеют тот же смысл, что и в конструкции If...Then. Если заданное в конструкции условие не выполняется (результат проверки равен False), и конструкция содержит ключевое слово Else, Visual Basic выполнит последовательность конструкций, расположенных следом за Else. После чего управление перейдет к конструкции, следующей после End If.
- Операторы языка и управляющие конструкции
В VBA имеется ряд функций и операторов по работе с файлами и каталогами. Одним из удобств является то, что не требуется устанавливать ссылку на используемую библиотеку. В таблице 1.4. эти функции и представлены.
Таблица 1.4.
Функции и операторы для работы с файлами
| Функция, оператор | Назначение |
| Open | Открывает файл |
| Close | Закрывает все файлы |
| Close # | Закрывает файл по идентификатору |
| Reset | Закрывает все открытые файлы, записывает содержимое буферов. |
| Print tt | Записывает данные в файл |
| FileCopy | Копирует файл |
| EOF | Определяет метку конца файла |
| FileAttr | Возвращает режим доступа открытого файла |
| FileDateTime | Возвращает дату и время создания файла |
| FileLen | Возвращает размер файла в байтах |
| FreeFile | Возвращает номер свободного идентификатора |
| GetAttr | Получает атрибуты файла |
| SetAttr | Устанавливает атрибуты файла |
| Loc | Возвращает номер текущей позиции в файле |
| LOF | Возвращает размер открытого файла в байтах |
| Seek | Устанавливает на заданную номером позицию или запись в файле |
| Dir | Возвращает содержимое текущей папки |
| Kill | Удаляет файл |
| Lock | Блокирует файл при работе в многопользовательской среде |
| Unlock | Снимает блокировку файла в многопользовательской среде |
| Name | Задает имя файла |
| Get # | Читает данные из файла |
| Input | Читает данные из файла |
| Input # | Читает данные из файла |
| Line Input # | Читает строку из файла |
| Put # | Записывает данные в файл |
| Write # | Записывает данные в файл |

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