Автор работы: Пользователь скрыл имя, 18 Марта 2012 в 13:36, курсовая работа
VBA (Visual Basic for Application) – это язык программирования, поддерживаемый всеми приложениями пакета Microsoft Office, в состав которого входят такие популяр¬ные приложения, как Microsoft Access, Microsoft Excel, Microsoft PowerPoint, Microsoft Word и др.
Введение 4
Глава 1 Основные средства и возможности VBA 5
1.1 Общая характеристика VBA 5
1.2 Использование VBA в Microsoft Excel 7
1.3 Структура приложения Excel 7
1.4 Структура программного кода VBA 8
1.5 Макросы 9
Глава 2 Практическая часть 10
2.1 Постановка задачи 10
2.2 Программная реализация 10
2.3 Результаты тестирования 13
Заключение 14
Список использованных источников 15
Приложение А Программный код на языке VBA 16
Приложение Б Программа в электронном варианте 25
ГЛАВА 2. Практическая часть
2.1 Постановка задачи
В данной главе мы создадим программу в Microsoft Excel, при помощи встроенного языка программирования VBA. Наша задача состоит в том, чтобы написать программу, которая будет переводить числовые данные в текстовое представление.
Наша программа будет состоять из 3 основных процедур:
1. Процедура, которая будет переводить числовые данные в текстовое представление;
2. Процедура добавления окончания;
3. Процедура вывода текста.
2.2 Программная реализация
Прежде чем начать писать программный код, необходимо запустить редактор VBA. Это можно сделать при помощи выбора команды меню Сервис>Макрос>Редактор>Visual Basic (Tools>Macros>Visual Basic Editor), или нажатием клавиш <Alt+F11>.
После запуска редактора VBA, нам необходимо определить функцию, которая будет записывать числовые данные в текстовое представление, а также переменные. В нашем случае, мы будем использовать функцию Cur.
Пример функции и переменных (см. Приложение А):
Function Cur_txt1(cur As Currency, gender As String) As String
Dim str As String
Dim word As String
Dim digital As Integer
Dim c As Currency
c = cur
word = ""
Следующим этапом в разработке программы будет написание функции, которая бы определяла разряд числа. Для этого мы воспользуемся функцией Int, которая отбрасывает дробную часть числа и возвращает целое значение.
Пример использования функции Int смотри в Приложении А.
В конце первого блока при помощи условного оператора If мы задаём окончание словам, определяющим разряд числа, при выводе на экран.
Пример использования оператора If (см. Приложение А):
If c < 1000000 Then
str = Cur_txt1(Int(c / 1000), "w")
word = ""
Select Case Int(c / 1000) Mod 10
Case 1
If Int(c / 1000) Mod 100 = 11 Then
word = "тысяч"
Else
word = "тысяча"
End If
Case 2, 3, 4
If (Int(c / 1000) Mod 100 > 10) And (Int(c / 1000) Mod 100 < 20) Then
word = "тысяч"
Else
word = "тысячи"
End If
Case Else
word = "тысяч"
End Select
Так как, наша программа предназначена, в основном, для бухгалтеров, то второй блок программного кода определяет окончание – рубли и копейки. В данном случае, это не принципиально и можно легко заменить рубли и копейки, на целые и сотые. Для этого мы воспользуемся функцией CurText, а при помощи оператора If зададим необходимое условие.
Пример использования функции CurText и оператора If:
Public Function CurText(cur As Currency) As String
Dim tmp As String
If cur < 1000000000 Then
tmp = ""
If cur >= 1 Then
tmp = Cur_txt1(Int(cur), "m") & " руб."
End If
If cur - Int(cur) >= 0.1 Then
tmp = tmp & " " & Int((cur - Int(cur)) * 100) & " коп."
Else
tmp = tmp & " 0" & Int((cur - Int(cur)) * 100) & " коп."
End If
CurText = tmp
Else
CurText = ""
End If
End Function
Заключительный блок программы отвечает за вывод текста на экран в Microsoft Excel. В данном случае мы используем функцию FirstLetter и оператор If.
Пример использования функции FirstLetter и оператора If:
Public Function FirstLetter(str As String) As String
If str <> "" Then
FirstLetter = UCase(Left(str, 1)) + Right(str, Len(str) - 1)
Else
FirstLetter = ""
End If
End Function.
2.3 Результаты тестирования
После написания программного кода, необходимо запустить программу в Microsoft Excel, чтобы удостовериться, правильно ли она работает. Если всё правильно сделано, то это будет выглядеть так, как представлено на рисунке 2.1:
Рисунок 2.1 – Вид программы в Microsoft Excel
ЗАКЛЮЧЕНИЕ
В данной курсовой работе мы узнали, что такое редактор Visual Basic for Application, для чего он служит и какими возможностями обладает. Также поставили задачу написать программу при помощи этого редактора, которая бы переводила числовые данные в текстовое представление в Microsoft Excel. И справились с ней.
По итогам проделанной работы можно утверждать, что изучив язык Visual Basic for Application, создание многих офисных приложений становится гораздо проще и быстрее, чем с помощью других языков программирования. В этом мы убедились, при написании нашей программы. Созданный нами макрос будет полезен в работе бухгалтеров, менеджеров, экономистов, а также простых пользователей.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Гарнаев А.Ю. Самоучитель VBA/ А.Ю. Гарнаев – Санкт-Петербург: БХВ-Петербург, 2003. – 512 с.
2. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах/ А.Ю. Гарнаев – Санкт-Петербург: БХВ-Петербург, 2001. –132 с.
3. Демидова Л.А. Программирование в среде Visual Basic for Application/ Л.А. Демидова, А.Н. Пылькин – Москва: Телеком, 2004. – 15 с.
4. Уокенбах Д. Профессиональное программирование на VBA в Excel 2002. Пер. с англ./ Д. Уокенбах – Москва: Издательский дом «Вильямс», 2003. –784 с.
5. Функции и формулы – Хитрости работы с Excel – таблицы, функции, формулы, списки, рабочие книги, макросы [Электронный ресурс]. – Режим доступа: http://www.teachexcel.ru/
ПРИЛОЖЕНИЕ A
Программный код на языке VBA
Function Cur_txt1(cur As Currency, gender As String) As String
Dim str As String
Dim word As String
Dim digital As Integer
Dim c As Currency
c = cur
word = ""
If c < 1000 Then
digital = Int(c / 100)
Select Case digital
Case 1
word = "сто"
Case 2
word = "двести"
Case 3
word = "триста"
Case 4
word = "четыреста"
Case 5
word = "пятьсот"
Case 6
word = "шестьсот"
Case 7
word = "семьсот"
Case 8
word = "восемьсот"
Case 9
word = "девятьсот"
End Select
str = word
word = ""
c = c - digital * 100
If c > 19 Then
digital = Int(c / 10)
Select Case digital
Case 2
word = "двадцать"
Case 3
word = "тридцать"
Case 4
word = "сорок"
Case 5
word = "пятьдесят"
Case 6
word = "шестьдесят"
Case 7
word = "семьдесят"
Case 8
word = "восемьдесят"
Case 9
word = "девяносто"
End Select
If word <> "" Then
If str <> "" Then
str = str + " " + word
Else
str = word
End If
End If
word = ""
c = c - digital * 10
End If
Select Case c
Case 1
word = "один"
Case 2
word = "два"
Case 3
word = "три"
Case 4
word = "четыре"
Case 5
word = "пять"
Case 6
word = "шесть"
Case 7
word = "семь"
Case 8
word = "восемь"
Case 9
word = "девять"
Case 10
word = "десять"
Case 11
word = "одиннадцать"
Case 12
word = "двенадцать"
Case 13
word = "тринадцать"
Case 14
word = "четырнадцать"
Case 15
word = "пятнадцать"
Case 16
word = "шестнадцать"
Case 17
word = "семнадцать"
Case 18
word = "восемнадцать"
Case 19
word = "девятнадцать"
End Select
If (c <= 2) And ((gender = "w") Or (gender = "W")) Then
Select Case c
Case 1
word = "одна"
Case 2
word = "две"
End Select
End If
If word <> "" Then
If str <> "" Then
str = str + " " + word
Else
str = word
End If
End If
Else
If c < 1000000 Then
str = Cur_txt1(Int(c / 1000), "w")
Информация о работе VBA. Перевод чисел в текстовое представление