Рекомендуемая категория для самостоятельной подготовки:
Контрольная работа*
Код |
289094 |
Дата создания |
19 сентября 2014 |
Страниц |
26
|
Мы сможем обработать ваш заказ (!) 23 декабря в 12:00 [мск] Файлы будут доступны для скачивания только после обработки заказа.
|
Описание
рассмотрена тема: Переменные, типы данных и константы по дисциплине: программный анализ ...
Содержание
Введение 3
1.Переменные, типы данных и константы 4
1.1.Определение типов данных 4
1.1.1.Объявление переменных 7
1.1.2.Функция определения типа данных 8
1.1.3.Область действия переменных 9
1.1.4.Локальные переменные 10
1.1.5.Переменные уровня модуля 11
1.2.Работа с константами 12
1.2.1.Использование предопределенных констант 13
1.3.Управление строками 14
1.4.Работа с датами 14
1.5.Операторы присвоения 15
1.6.Массивы 15
1.6.1.Одномерные массивы 16
1.6.2.Многомерные массивы 17
1.6.3.Динамические массивы 17
1.6.4.Переменные объектов 17
1.6.5.Пользовательские типы данных 18
2.Обращение к Microsoft Excel из среды Delphi 19
2.1. Организация доступа к книге EXCEL 20
2.2. Чтение/запись данных в EXCEL 21
2.3. Формат ячеек в EXCEL 22
2.4. Использование паролей в EXCEL 23
2.5. Вспомогательные операции в EXCEL 23
Заключение 25
Список используемых источников 26
Введение
«VBA в среде MS Excel как средство реализации сложных информационно-статистических моделей в процессе научных исследований» - тема данной работы актуальна потому, что пользовательские функции и процедуры VBA могут использоваться как средство реализации нестандартных алгоритмов в процессе научных исследований в области экономики.
Актуальность данного исследования определила цель и задачи работы:
Цель работы – рассмотреть VBA в среде MS Excel
Для достижения цели необходимо решить следующие задачи:
1. Изучить переменные, типы данных и константы
2. Рассмотреть сущность и специфику обращение к Microsoft Excel из среды Delphi
Структура работы выражается в ее содержании.
Для раскрытия поставленной темы определена следующая структура: работа состоит из введения, двух глав, заключения и списка исп ользованной литературы. Название глав отображает их содержание.
Фрагмент работы для ознакомления
В процедуру включается оператор Dim или static
Отдельный модуль
Перед первой процедурой в модуле вводится оператор Dim или private
Все модули
Перед первой процедурой в модуле вводится оператор Public
1.1.4.Локальные переменные
Локальная переменная — это переменная, объявленная в процедуре.
Локальные переменные могут использоваться только в процедуре, в которой они объявлены.
После выполнения процедуры переменная становится невостребованной, поэтому Excel освобождает соответствующую область памяти.
Если требуется сохранить значение переменной, объявите ее как static .
Чтобы объявить локальную переменную — вставьте оператор Dim между операторами Sub и End Sub .
Dim – сокращение от Dimension (Размерность). В старых версиях BASIC этот оператор использовался исключительно дляобъявления размерности массива.
Другой способ указания типа данных для переменной : язык VBA позволяет присоединить символ к названию, чтобы указать ее тип данных.
Пример, можно объявить переменную MyVar как целое число, добавив к ее названию символ %: Dim MyVar %
Символы объявления типов данных представлены для большинства типов данных VBA (отсутствующие в таблице типы данных не имеют собственного символа объявления типа).
Тип данных
Символ объявления типа
Integer
%
Long
&
Single
!
Double
#
Currency
@
String
S
Локальные переменные позволяют экономно использовать память, так как VBA освобождает память, которую они используют, после окончания выполнения процедуры.
1.1.5.Переменные уровня модуля
Иногда необходимо, чтобы переменная была доступна во всех процедурах модуля. В таком случае объявите переменную перед первой процедурой модуля (за пределами процедур или функций).
В приведенном ниже примере оператор Dim — первая инструкция в модуле. Обе процедуры MySub и YourSub имеют доступ к переменной CurrentValue .
Dim CurrentValue As Integer
Sub MySub{)
' -[Здесь вводится текст процедуры] -
End SUb
Sub YourSub()
'-[Здесь вводится текст процедуры] -
End Sub
Значение переменной уровня модуля не изменяется при окончании выполнения процедуры.
Переменные Public
Чтобы сделать переменную доступной во всех процедурах всех модулей VBA в проекте, необходимо объявить переменную на уровне модуля с помощью ключевого слова Public перед первой процедурой модуля, например, так:
Public CurrentRate as Long
Код объявления переменных Public должен вводиться в стандартном модуле VB А, а не в коде модуля листа или формы.
Переменные Static
Переменные Static — особый случай. Они объявляются на уровне процедуры и сохраняют свое значение после окончания процедуры.
Sub MySub()
Static Counter As Integer
'-[Здесь вводится текст процедуры] –
End Sub
1.2.Работа с константами
Константа – именованное значение или строка, которая не меняется при выполнении программы.
Объявление констант
Константы объявляются с помощью оператора Const .
Примеры :
Const NumQuarters as Integer = 4
Const Rate = .0725, Period = 12
Const ModName as String = "Budget Macros"
Public Const AppName as String = "Budget Application"
Во втором примере тип данных не объявлен. Следовательно, указанные две константы имеют тип Variant .
Константы имеют область действия как и переменные.
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 Область действия
Способ объявления константы
Отдельная процедура
В процедуре или функции
Отдельный модуль
Перед первой процедурой в модуле
Все модули
Перед первой процедурой в модуле с ключевым словом Public
При попытке изменить значение константы в процедуре VBA вы получите ошибку.
1.2.1.Использование предопределенных констант
В Excel и VBA существует целый ряд предопределенных констант, которые можно использовать без объявления.
В следующей процедуре для изменения ориентации страницы активного листа на альбомную применена встроенная константа ( xlLandscape ):
Sub SetToLandscape()
ActiveSheet.PageSetup.Orientation = xlLandscape
End Sub
Константу xlLandscape можно обнаружить путем записи макроса.
Описание констант можно найти в справочной системе.
Если включен параметр AutoList Members , то можно получить помощь непосредственно при вводе кода. Во многих случаях VBA автоматически перечисляет все константы, присваиваемые определенному свойству.
1.3.Управление строками
В VBA представлено два типа строк.
Строки фиксированной длины объявляются с определенным количеством символов. Максимальная длина строки составляет 65535 символов.
Строки переменной длины теоретически могут вмещать до 2 млрд. символов.
Память для строки отводится из расчета 1 байт на каждый символ и для хранения заголовка строки.
В следующем примере переменная MyString объявляется как строка с максимальной длиной 50 символов. YourString тоже объявлена как строка, но она имеет переменную длину:
Dim MyString As String * 50
Dim YourString As String
1.4.Работа с датами
Переменная, определенная как Date , занимает 8 байт памяти и может содержать даты в диапазоне от 1 января 100 года до 31 декабря 9999 года.
В VBA дата и время определяются как значения, заключенные между знаками # (см. далее).
Ошибка дат в Excel
В Excel используется неправильное предположение, что 1900 год – високосный.
В ячейке с формулой =ДАТА(1900;2;29) появится значение 29 февраля 1900 года.
Функция DateSerial (190 Q ,2,29) в VBA возвратит 1 марта 1900 года (!).
1.5.Операторы присвоения
Оператор присвоения — это инструкция VBA , выполняющая математическое вычисление и присваивающая результат переменной или объекту.
Выражение определяется как комбинация ключевых слов, операторов, переменных и констант. Эта комбинация возвращает в результате строку, число или объект. Выражение может осуществлять вычисление, обрабатывать символы или тестировать данные.
В VBA оператором присвоения выступает знак равенства (=).
Примеры использования операторов присвоения (выражения приводятся справа от знака равенства):
х = 1
X = X + 1
х = ( у * 2) ! ( г * 2) FileOpen = True FileOpen = Not FileOpen Range С "The Year").Value = 2001
Выражения могут быть очень сложными. Чтобы сделать длинные выражения более удобными для восприятия, используйте символ продолжения строки (пробел с подчеркиванием).
Зачастую в выражениях применяются функции. Это могут быть встроенные функции VBA , функции рабочих листов Excel или специальные функции, разработанные в VBA .
1.5.1.Булевы операторы VBA
Таблица. Булевы операторы VBA
Оператор
Действие
not
Логическое отрицание выражения
And
Логическая конъюнкция двух выражений
Or
Логическая дизъюнкция двух выражений
xoR
Логическое отрицание двух выражений
Eqv
Логическая эквивалентность двух выражений
imp
Логическая импликация двух выражений
Примеры.
1.Свойство DisplayGridLines принимает значение True или False . Следовательно, применение оператора Not изменяет True на False , a False — на True :
ActiveWindow . DisplayGridLines = _
Not ActiveWindow . DisplayGridLines
2.Представленное далее выражение осуществляет логическую операцию And . Оператор MsgBox отображает True , только если Лисг1 — активный лист и активная ячейка находится в строке 1. Если одно или оба этих условия неверны, оператор MsgBox отображает False :
MsgBox ActiveSheet . Name = "Лист1" And ActiveCell . Row = 1
3.Следующее выражение осуществляет логическую операцию Or . Оператор MsgBox отображает True , если активен лист Лист1 или Лист2:
MsgBox ActiveSheet.Name = " Лист 1" Or ActiveSheet.Name = " Лист 2"
1.6.Массивы
Массив — это именованная группа проиндексированных элементов одного типа. На конкретный элемент массива ссылаются, используя имя массива и индекс. Например, массив MonthNames из 12-ти строк (каждая переменная соответствует названию месяца). Можно обратиться к первому элементу массива как
MonthNames(0), ко второму — как MonthNames(1) и т.д., до MonthNames(11).
1.6.1.Одномерные массивы
Массив объявляется с помощью операторов Dim или Public . Можно определить количество элементов в массиве: введите первый индексный номер, ключевое слово То и последний индексный номер — вся конструкция будет заключена в скобки. Например, так можно объявить массив, содержащий ровно 100 целых чисел:
Dim MyArray(1 To 100) As Integer
1.6.2.Многомерные массивы
Массивы VBA могут иметь до 60-ти измерений. Показанный ниже оператор объявляет двухмерный 100-элементный массив целых чисел:
Dim MyArray(1 To 10, 1 То 10) As Integer
Так присваивается значение элементу предыдущего массива
МуАггау(1, 4) = 125
Трехмерный массив
Dim MyArray(1 To 5, 1 То 6, 1 То 7) As Integer
состоит из 420 чисел типа Double.
1.6.3.Динамические массивы
Динамический массив не имеет предопределенного количества элементов. Динамический массив объявляется с незаполненными значениями в скобках:
Dim MyArray () As Integer
Перед использованием динамического массива необходимо обратиться к оператору
ReDim , указывающему VBA , сколько элементов находится в массиве
или
ReDim Preserve , если решено сохранить текущую длину массива.
Оператор ReDim можно использовать сколько угодно раз, изменяя, если требуется, размер массива.
1.6.4.Переменные объектов
Переменная объекта — это переменная, представляющая целый объект, например, диапазон или рабочий лист. Переменные объектов имеют особое значение по двум причинам:
¦ значительно упрощают программу;
¦ ускоряют выполнение программы.
Переменные объектов, как и обычные переменные, объявляются с помощью оператора Dim или Public . Например, в следующем операторе переменная inputArea объявляется как объект Range : Public InputArea As Range
Чтобы узнать, каким образом переменные объектов упрощают программу, проанализируем процедуру, написанную без их использования:
Sub KoObjVar()
Worksheets(" Лист 1").Range("Al").Value =124
Worksheets(" Лист 1").Range("Al").Font.Bold = True
Worksheets(" Лист 1").Range("Al").Font.Italic = True
End Sub
Эта процедура вводит значение в ячейку А1 листа Лист1 активной рабочей книги, а затем делает шрифт содержимого ячейки полужирным и курсивным. В примере введено довольно много кода для такой простой операции. Чтобы пощадить себя, сведите процедуру к использованию объектной переменной:
Sub ObjVar()
Dim MyCell As Range
Sec MyCell = Worksheets(" Лист 1").Range("Al")
MyCell.Value =124
MyCell.Font.Bold = True
MyCell.Font.Italic = True
End Sub
После объявления переменной MyCell как объекта Range оператор Set присваивает ей сам объект. В результате в следующих операторах используется упрощенная ссылка MyCell вместо длинной Worksheets (" Лист1") . Range(" Al ").
1.6.5.Пользовательские типы данных
VBA позволяет создавать специальные, или пользовательские, типы данных . Определенный пользователем тип данных может облегчить управление некоторыми типами данных. Например, если приложение обрабатывает сведения о клиенте, то можно создать пользовательский тип данных с названием Customerlnfo:
Type Customerlnfo
Company As String * 25
Contact As String * 15
RegionCode As Integer
Sales As Long
End Type
Пользовательские типы данных определяются вверху модуля перед началом
Если пользовательский тип данных уже создан для объявления переменной этого типа примените оператор Dim . Обычно пользовательский тип данных определяется для массивов:
Dim Customers ( 1 To 100) As Customerlnfo
Все 100 элементов этого массива состоят из четырех компонентов (как указано в пользовательском типе данных— Customerlnfo ). Вы можете сослаться на конкретный компонент элемента :
Customers(5).Company = "Acme Tools"
Customers(1).Contact = "Tim Robertson"
Customers(1).RegionCode = 3
Customers(1).Sales = 150677
Чтобы скопировать информацию из Customers (1) в Customers ( 2 ), используется следующая инструкция:
Customers (2) = Customers (1)
Предыдущий пример эквивалентен приведенному далее блоку инструкций:
Customers(2).Company = Customers(1).Company
Customers(2).Contact = Customers(1).Contact
Customers(2}.RegionCode = Customers(1).RegionCode
Customers(2).Sales = Customers(1).Sales
2.Обращение к Microsoft Excel из среды Delphi
В этой главе мы рассмотрим основные конструкции, позволяющие получить доступ к книге MS Excel из Delphi.
2.1.Организация доступа к книге EXCEL
Для взаимодействия с MS Excel в программе необходимо использовать модуль ComObj
uses ComObj;
и объявить переменную для доступа к MS Excel следующего типа:
var MsExcel: Variant;
Инициализация переменной Excel в простейшем случае можно осуществить так:
Список литературы
1.Интенсивный курс по EXCEL. – П.Эйткен.,Изд-во: Диалектика,- 2007 г., 421 стр.
2. Профессиональное программирование на VBA в Excel 2003. - Джон Уокенбах, Изд-во: Вильямс, - 2005 г., 348 с.
3. Самоучитель VBA. – Гарнаев А., Изд-во: bhv, - 2007 г., 512 с.
4. http://ru.wikipedia.org/wiki/VBA - Википедия о VBA
5. www.csu.ac.ru/~rusear/VBA/9_VarTypeConst.htm - типы данных
6. www.lessons-tva.info/articles/informat/21.html - практика связывания
7. http://programistu.org.ua Статья «Циклы VBA
8. http://works.tarefer.ru
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
Другие контрольные работы
bmt: 0.0049