Учебная работа. Научная работа: Создание программного продукта на языке программирования Visual Basic for Applications

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Научная работа: Создание программного продукта на языке программирования Visual Basic for Applications

РЕФЕРАТ

Объяснительная записка: 23 с., 2 рис., 4 источника, 5 таблиц

Целью работы является создание программного продукта на языке программирования Visual Basic for Applications согласно заданию, выданному на учебную практику. Данный программный продукт дозволяет расположить в Microsoft Word начальный текст, введенный юзером, на страничке, любая строчка которой имеет хотимое юзером количество знаков (при этом слова не разрываются на две строчки) и в Microsoft Excel отыскать сумму 2-ух разреженных полиномов, данных ненулевыми коэффициентами и их номерами. Программный продукт должен обеспечивать удобство и простоту использования, быть многофункциональным и надежным, действенным в эксплуатации.

Программный продукт может привлечь юзеров, которые желают выяснить доп информацию о Visual Basic for Applications, изучить основную информацию и проследить за разработкой программ на данном языке программирования.


ПЕРЕЧЕНЬ ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Гарнаев А.Ю. Самоучитель VBA – 2-е изд., перераб. и доп. — СПб.: БВХ- Петербург 2004, 560с.

2. Гарнаев А.Ю. «Excel 2002: разработка приложений» — СПб.: БВХ-Петербург 2002, 450с.

3. С.Браун «VB 6» — СПб.: Москва – Харьков – Минск 2002, 573с.

4. С.Каммингс «VBA для Чайников» — СПб.: Москва – Санкт-Петербург – Киев 2003, 440с.


ВЫВОДЫ

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

— вывод справочной инфы по языку программирования Visual Basic for Applications;

— нахождение в данной строке слов, которые начинаются и завершаются одной и той же буковкой; вывод слов на экран в Microsoft Word;

— при помощи определенных преобразований в начальной матрице поменять элементы четных сток, вывести конечную матрицу на экран в Microsoft Exel.

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



ВВЕДЕНИЕ

Visual Basic for Applications (VBA) – очень пользующаяся популярностью в крайние годы среда разработки приложений, которая, являясь массивным программным средством, дозволяет воплотить широкий диапазон практических задач. Основное её достоинство состоит в рациональном сочетании простоты использования, доступности и огромного набора различных способностей, позволяющих охватить все главные направления деятель разраба прикладных программ.

способности VBA совершенно не уступают иным системам программирования Windows и повсевременно вырастают. К тому же почти все системы программирования в Windows и употребляют общие библиотеки объектов, посреди которых – объекты Word и Excel. К главным способностям VBA можно отнести реализацию очень гибкого и комфортного интерфейса для приложения, создание самых различных многоуровневых и всплывающих меню, обработку событий мыши и клавиатуры, работу с графикой. Разраб может употреблять в программке как обычные, так и интегрированные диалоги, применяющиеся для организации оборотной связи с юзером. приложение может производить работу с таймером, обрабатывать файлы и сборники на твердом диске, также предоставлять доступ к базам данных. В VBA имеется возможность внедрения в приложение разных объектов, которые поддерживаются иными программками. Кроме этого, разраб может воплотить связь 1-го либо нескольких компов, на которых установлено сделанное приложение, с сетью Internet.

Также язык программирования VBA – есть реализация объектно-ориентированного написания программ в системе MS Office, а а именно в процессе практики исследовалось внедрение VBA для MS Word и MS Excel. Синтаксис языка – давно проложенные правила языка Basic – один из самых ранешних языков программирования. процесс написания программки на VBA – последовательное наполнение характеристик разных объектов. язык VBA, является массивным программным средством, осуществлена возможность обработки файловой инфы. Но самым броским достоинством языка является возможность занесения результатов вычисления и всех данных в Office приложения, в MS Word и Ms Excel.

Другими словами можно отметить, что в истинное время огромное внимание уделяется программированию на Visual Basic for Applications. Конкретно потому задание, выданное на учебную практику, разрабатывается на данном языке программирования.



1 ПОСТАНОВКА задачки

1.1
Формулировка задачки

Для MS Word:

Начальный текст (слова, пробелы, знаки) задан одной строчкой. Нахождение в ней слов, которые начинаются и завершаются схожей буковкой.

Для MS EXCEL:

В матрице отыскать сумму частей, которые размещены по главной диагонали. Элементы всех чётных строк поделить на эту сумму.

1.2 Начальные данные

Для Word:

S1 : строчка ; { строчка, введенная юзером }

Для EXCEL:

a : двумерный массив [5,5 ] вещ ; { массив коэффициентов первого полинома }

1.3
Ограничения на начальные данные

Для EXCEL:

0 < = i < 5

0 < = j < 5

1.4
Промежные данные

Для Word:

S3: строчка ; {содержит слово, необходимое по условию}

k : цел ; { счетчик, определяющий количество знаков в любом слове }

start : цел ; { счетчик перебора знаков в строке }

i : цел ; { счетчик, показывающий начиная с какого знака будет

осуществляться чтение слова }

Для EXCEL:

B: массив [10] вещественных чисел; {содержит элементы главной диагонали}

1.5
Результаты

Для Word:

S3 : строчка ; { содержит разыскиваемые слова}

Для EXCEL:

a : массив [5,5 ] вещ ; { конечная матрица чисел}



2 ОПИСАНИЕ ЯЗЫКА
VBA
И системы ПРОГРАММИРОВАНИЯ В
OFFICE

Операционная система Windows компании Microsoft владеет удивительно комфортным интерфейсом и обилием умственных средств, которые высвобождают юзера от рутинной работы, присущей иным операционным системам. Естественным и неподменным дополнением данной операционной системы являются программные продукты Microsoft Office, которые даже начинающему юзеру разрешают с легкостью создавать безупречную по собственному оформлению документацию, создавать денежные, инженерные и остальные расчеты, создавать и работать с базами данных, конструировать презентации и слайды. совместно, операционная система Windows и программные продукты Microsoft Office, сразили весь мир. Компания Microsoft интегрировала в свои офисные продукты, в саму операционную среду замечательный по простоте и необыкновенный по собственной эффективности язык программирования Visual Basic for Applications либо сокращенно VBA. При помощи этого языка сейчас любой юзер может заавтоматизировать работу приложения и очень приспособить его работу для решения текущих задач, не только лишь добавив интерфейсу новейшую функциональность, да и удалив из него ненадобные для данного приложения элементы, тем обеспечив ему доп стабильность.

способности VBA совершенно не уступают иным системам программирования Windows и повсевременно вырастают. К тому же почти все системы программирования в Windows и VBA употребляют общие библиотеки объектов, посреди которых – объекты Excel, Word и т.д.


2.1
Типы данных

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

— 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 употребляется для хранения данных, принимающих одно из 2-ух значений: True либо False. По дефлоту переменной данного типа присваивается

Тип данных Date употребляется для хранения даты и времени. Переменная этого типа просит 8 б в оперативки.

Тип данных Variant является всепригодным. Переменная этого типа может хранить хоть какой из выше перечисленных типов данных. Все нужные преобразования производятся при присвоении переменной значения. Выделяемый переменной размер оперативки зависит от типа присвоенного значения, но не быть может наименее 16 б.

Для хранения ссылок на объекты употребляется тип данных Object. Любая переменная данного типа просит 4 б.

При разработке программ в среде VBA зависимо от типа данных переменных рекомендуется употреблять префиксы, приведенные в таблице 2.1

Таблица 2.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




2.2
Описание переменных

определения время жизни и область видимости переменной означают пространство использования переменной в приложении, также время существования переменной опосля ее сотворения.

Область видимости переменной описывает часть кода, которая «понимает» о существовании данной переменной. При определении переменной в процедуре получить либо поменять ее к примеру, переменную, значения которой доступны для всех процедур модуля либо проекта. Есть три типа области видимости переменной:

— переменные уровня процедуры распознаются лишь в процедуре, в какой они описаны. Они описываются с помощью инструкций Dim либо Static. Такие переменные именуются локальными;

— переменные уровня модуля употребляются лишь в модуле, в каком они описаны, но не в остальных модулях данного проекта. Описываются с помощью оператора Dim либо Private в области описания модуля, т.е. перед описанием процедур;

— переменные уровня модуля, описанные с помощью аннотации Public, являются доступными для всех процедур проекта. Такие переменные именуются открытыми.

Закрытая (Private) переменная сохраняет свое программка.

Для неотклонимого объявления всех переменных сначала модуля, в так именуемой области модуля General Declarations, нужно поместить директиву Option Explicit. Внедрение данной директивы не допускает способности неверного ввода имени переменной, которая применяется в одной либо не — скольких процедурах модуля. к примеру, если переменная была объявлена как Ставка, а в коде при наборе заместо российской буковкы с была применена латинская буковка с, то это приведет к ошибке. В отсутствие директивы Option Explicit схожую ошибку было бы тяжело отследить.

2.3
Описание массивов

Как и в остальных языках программирования, в VBA можно употреблять массивы. Массив, как и всякую переменную, нужно объявлять, используя операторы Dim, Static, Private и Public, которые также задают область видимости переменной. В массиве допускается описание до 60 размерностей. При определении размерности нужно указывать верхнюю, также нижнюю границу. Если нижний индекс не задан очевидно, нижняя граница массива определяется директивой Option Base. Если отсутствует директива Option Base, нижняя граница массива приравнивается нулю. к примеру, в последующем операторе объявляется одномерный массив (вектор) из 12 целых чисел, при этом по дефлоту 1-ый элемент массива – А (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)

2.4
Операторы языка и управляющие конструкции

Математические операторы разрешают делать в программке деяния над числами. В таблице 2.2 приведены арифметические операторы и выполняемые ими функции.

Таблица 2.1 – Префиксы, применяемые в наименованиях переменных

Операция


символ


Запись


Типы данных


действие



Сложение


+


a + b


Byte, Short, Integer, Long, Single, Double, Decimal


Складывает два числа



Вычитание



a — b


Byte, Short, Integer, Long, Single, Double, Decimal


Вычитает из 1-го

числа другое



Деление


/


a/b


Byte, Short, Integer, Long, Single, Double, Decimal


Разделяет два числа и

возвращает итог

с плавающей точкой



Деление

нацело



ab


Byte, Short, Integer, Long, Single, Double, Decimal


Разделяет два числа и

возвращает целый итог (остаток отбрасывается)



Остаток


Mod


a Mod b


Byte, Short, Integer, Long, Single, Double, Decimal


Рассчитывается остаток

от деления 1-го числа на другое



Умножение


*


а * 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 бывают 2-ух видов:

— If…Then

— If…Then…Else

Система If…Then применяется, когда нужно выполнить определенные деяния зависимо от некого условия. Управляющая система If…Then…Else употребляется в том случае, когда нужно выполнить различные деяния зависимо от условия. Система If.. .Then.. .Else подобна конструкции If…Then, но дозволяет задать деяния, исполняемые как при выполнении критерий, так и в случае их невыполнения.

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

Условные выражения – это такие выражения, которые возвращают одно из 2-ух значений: правдалибо Ересь. В условных выражениях употребляют операторы сопоставления, приведенные в таблице 2.3.

Таблица 2.3 – Операторы сопоставления для условных выражений

Операция


символ



Меньше


<



Меньше либо равно


<=



больше


>



Операция


символ



Больше либо равно


>=



Равно


=



Не равно


<>




Над условными выражениями можно делать деяния логической арифметики (логические операции). К логическим побитовым операциям относятся операции And, Or, And Also, Or Else, Xor, Not.Операция Not имеет один операнд, другие – по два операнда.

Главные слова IF и End If имеют этот же смысл, что и в конструкции If…Then. Если данное в конструкции условие не производится (итог проверки равен False), и система содержит ключевое слово Else, Visual Basic выполнит последовательность конструкций, расположенных следом за Else. Опосля что управление перейдет к конструкции, последующей опосля End If.

2.5
Обычные функции работы с файлами, строчками, диалоговыми окнами

В VBA имеется ряд функций и операторов по работе с файлами и каталогами. Одним из удобств будет то, что не требуется устанавливать ссылку на применяемую библиотеку. В таблице 2.4 эти функции и представлены.

Таблица 2.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 #


Записывает данные в файл




В таблице 2.5 представлены функции обработки строковых выражений, которые разрешают произвести широкий диапазон операций: от нахождения длины строчки, до подмены в строке подстрок.

Таблица 2.5 – Функции для работы со строчками

Функция


Предназначение



Asc


Возвращает ASCII— код знака



Chr


Преобразовывает ASCII-код в знак



InStr, InStrRev


Производит поиск одной строчки в иной



Lcase


Изменяет регистр букв начальной строчки на нижний



Left


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



Len


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



Ltrim, RTrim, Trim


Убирают пробелы, расположенные соответственно сначала, в конце и с обеих сторон символьной строчки



Функция


Предназначение



Mid


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



Right


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



Str, CStr


Преобразовывают числовое выражение в строчку



StrReverse


Изменяет порядок следования знаков в строке на оборотный



StrConv


Изменяет регистр букв символьной строчки



Продолжение таблицы 2.5



Val


Преобразовывают строчку в числовое выражение



UCase


Изменяет регистр букв начальной строчки на нижний




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

Функция InputBox выводит на экран диалоговое окно, содержащее сообщение, поле ввода, и две клавиши OK и Cancel. Она устанавливает режим ожидания ввода текста юзером и нажатия клавиши, а потом, при нажатии на клавишу OK, возвращает

Процедура MsgBox выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия клавиши юзером, а потом возвращает

3 АЛГОРИТМ РЕШЕНИЯ ПОСТАВЛЕННОЙ задачки В
MS
Word


S1





Для i=1 до len(s1)-1

Если mid(s1, i,1)=” ”

Если mid(s2,1,1)=mid(s2,len(s2),1)

S3=s3+s2+” ”





s2 = «»

По другому





s2 = s2 + Mid(s1, i, 1)







s3




4 АЛГОРИТМ РЕШЕНИЯ ПОСТАВЛЕННОЙ задачки В
MS
EXCEL

Для i=1 до 5

Для j= 1 до 5

a(i,j)

sum = 0

Для i=1 до 5

b[i]=a[i,i]

sum=sum+b[i]

Для i=1 до 5

Для j=1 до 5








i=i+2

a[i,j]=a[i,j]/sum







Для i=1 до 5

Для j=1 до 5

a(i,j)


5 ТЕСТОВЫЕ ПРИМЕРЫ

MS Word

№1

Дед Мороз — красноватый нос, ты подарки нам принёс?

Дед

№2

Трактат о злосчастной любви.

Трактат

MS EXCEL

№1

1


2


3


4


5



6


7


8


9


10



7


9


11


13


15



2


4


4


6


7



3


6


4


0


8




Итог

1


2


3


4


5



0,18


0,21


0,24


0,27


0,3



7


9


11


13


15



0,06


0,121


0,121


0,18


0,21



3


6


4


0


8





приложение А

ЭКРАННЫЕ ФОРМЫ

Набросок А.1 – Работа программки в MS Word

Набросок А.2 – Пример работы программки в MS Word


Приложение
Б

ЛИСТИНГ ПРОГРАММЫ В MS EXCEL

Sub Laba1()

Dim m, i, j, k As Integer

Dim sum As Double

Dim a(5, 5), b(10) As Long

For i = 1 To 5

For j = 1 To 5

a(i, j) = Cells(i, j)

Next j

Next i

sum = 0

For i = 1 To 5

k = i

j = i

b(k) = a(i, j)

sum = sum + b(k)

Next i

For i = 2 To 5 Step 2

For j = 1 To 5

a(i, j) = a(i, j) / sum

Next j

Next i

Cells(7, 1) = «Конечная»

Cells(7, 2) = «матрица:»

For i = 1 To 5

For j = 1 To 5

Cells(i + 8, j) = a(i, j)

Next j

Next i

End Sub


приложение В

ЛИСТИНГ ПРОГРАММЫ В MS WORD

Sub Laba2()

Dim s1, s2, s3 As String

Dim i, j As Integer

Selection.WholeStory

s1 = Selection.Text

For i = 1 To Len(s1) — 1

If Mid(s1, i, 1) = » » Then

If Mid(s2, 1, 1) = Mid(s2, Len(s2), 1) Then

s3 = s3 + s2 + » «

End If

s2 = «»

Else

s2 = s2 + Mid(s1, i, 1)

End If

Next i

Selection.Text = s1 + s3

End Sub

]]>