ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Розробка додатків на мові VBA в середовищі MS EXCEL з обробки даних для заданих об'єктів
         

     

    Інформатика, програмування


    Міністерство вищої та середньої освіти Російської Федерації

    Іркутський Державний Технічний університет

    Факультет Технології та комп'ютеризації Машинобудування

    Кафедра Технології Машинобудування

    Курсова робота з інформатиці на тему
    «Розробка додатків на мові VBA в середовищі MS EXCEL з обробки даних для заданих об'єктів»

    Виконали студенти групи ІСМ-03-1

    Козулін С.П, Кононов І.В.

    Перевірив: Буренков С. І_____________

    Іркутськ, 2004

    План

    1. Як все починалося

    - QuickBasic проти TurboBasic


    -Епоха Visual Basic


    -Visual Basic for Applications

    2. Обробка модулів VBA


    -Перейменування, Видалення, Створення, Додавання, Експорт, Імпорт модулівпроекту


    - Імпорт та експорт модуля з проекту в проект


    - Імпорт модуля через експортований файл (а також модулів звичайного VB)


    - Редакція модуля


    - Обробка модулів VBA програмно


    - Експорт модуля проекту в файл


    - Імпорт модуля проекту з файлу


    - Імпорт модуля через організатор (даний код тільки для програми Word)


    - Вставка нових рядків у модуль проекту


    - Видалення рядків з модуля


    - Читання рядків з модуля


    - Визначення кількості рядків у модулі


    - Перейменування модулів проекту


    - Видалення модулів проекту


    - Визначення кількості модулів у проекті


    - Створення нового модуля проекту

    3. Постановка задачі та її рішення

    4. Список використаної літератури

    Як все починалося

    Мова Basic був розроблений професорами Дартмутського коледжу Дж.Кемені і
    Т. Курц в 1965 році як засіб навчання і роботи непрофесійнихпрограмістів. (Дартмутський коледж в штаті Нью-Гампшір, США, був створений усередині 18 століття, це одна з найстарший вищих закладів Америки). Йогопризначення визначено в самій назві, що є абревіатурою слів
    Beginner's All-purpose Symbolic Instruction Code (багатоцільовий мовусимволічних інструкцій для початківців) і при цьому в дослівному перекладіозначає "базовий".
    Примітка. Раніше мови програмування писалися обов'язково малимибуквами - BASIC, FORTRAN. У 1990 році Міжнародна організація стандартівприйняла рішення, що вони пишуться як звичайні власні імена - рядковоїє тільки перша буква.
    Однак парадокс полягає в тому, що, будучи дійсно досить простимзасобом програмування, абсолютно непридатним в ті часи для вирішеннясерйозних завдань, Basic представляв собою якісно нову технологіюстворення програм в режимі інтерактивного діалогу між розробником ікомп'ютером. Тобто являв собою прообраз сучасних системпрограмування. Інша справа, що рішення такого завдання на техніці тихроків було можливо тільки за рахунок максимального спрощення мовипрограмування та використання транслятора типу "інтерпретатор".
    У силу цих же причин Basic в основному застосовувався на міні - і мікроЕОМ,які у 70-ті роки мали оперативну пам'ять, обсяг якої здається сьогодніпросто нереальним (4-32 тисяч байт). Різке розвиток систем на основі Basicпочалося з появою на початку 80-х років персональних комп'ютерів,продуктивність і популярність яких росте ось вже двадцять роківнебаченими темпами.

    QuickBasic проти TurboBasic

    Наприкінці 80-х років налічувалося близько десятка систем Basic різних фірм -розробників. Однак головна боротьба точилася між QuickBasic (компанія
    Microsoft) і TurboBasic (Borland). Взагалі-то, конкуренція між цими двомарозробниками засобів програмування йшла по цілому спектру мов -
    Basic, Pascal та C. І результатом її в 1989 році стало неявне світовеугоду, коли Microsoft відмовилася від подальшої підтримки Pascal, а
    Borland - Basic.
    Тоді багато коментаторів уїдливо зауважували, що Microsoft відмовилася від
    Pascal на користь Basic виключно з-за особистих пристрастей засновника ікерівника корпорації Білла Гейтса. Звичайно, розробка в 1975 роціінтерпретатора Basic для мікроЕОМ Altair 8800 була першим проектомдвадцятилітніх Білла Гейтса та Пола Аллена, тільки що заснували фірму
    Micro-Soft (на той момент вони були єдиними співробітниками новоїкомпанії). Після цього саме Пол Ален займався створенням Basic-систем івважається хресним батьком Visual Basic. У свою чергу Білл Гейтс,перераховуючи свої титули, досить часто додає "Basic-програміст".
    Однак, як мені видається, перемога QuickBasic визначалася сутотехнологічними причинами - в цій системі була вдало реалізована схемазмішаного використання традиційних Basic-технологій і класичнихметодів створення складних програмних систем. Відзначимо, що з 1990 рокускорочений варіант QuickBasic під назвою QBasic був включений до складу MS-
    DOS. (Багато сучасних користувачі помилково думають, що QuickBasic і
    QBasic - одне й те саме.)

    Епоха Visual Basic

    На початку 90-х років Microsoft почала активну боротьбу за просування в масисвоєї нової операційної системи Windows (проти своєї ж, але вжезастарілої MS-DOS). Але, як відомо, користувачі працюють не з ОС, а зпрограмами, які працюють в неї середовищі. Тому швидкість зміни платформив основному визначається темпами появи відповідних прикладнихпрограм.
    Проте зміна операційних систем являє серйозну проблему і дляпрограмістів, так як їм треба було освоювати нову технологію розробкипрограм. У той момент існуючим (і в значній мірі, абсолютносправедливим) думкою було те, що Windows пред'являє вищівимоги до кваліфікації програміста.
    У 1991 році під гаслом "тепер і починаючі програмісти можуть легкостворювати додатки для Windows "з'явилася перша версія новогоінструментального засобу Microsoft Visual Basic. У той момент Microsoftдосить скромно оцінювала можливості цієї системи, орієнтуючи її,перш за все, на категорію початківців і непрофесійних програмістів.
    Основним завданням тоді було випустити на ринок простий і зручний інструментрозробки в тоді ще досить новому середовищі Windows, програмування вякої становило проблему і для досвідчених фахівців.
    Дійсно, VB 1.0 в той момент був більше схожий не на робочийінструмент, а на діючий макет майбутньої середовища розробки. Йогопринципове нововведення полягало в реалізації ідей подієво -керованого і візуального програмування в середовищі Windows, які вельмирадикально відрізнялися від класичних схем розробки програм. За загальнимвизнання VB став родоначальником нового покоління інструментів, які називаютьсясьогодні засобами швидкої розробки програм (Rapid Application
    Development, RAD). Сьогодні ця ідеологія вважає звичною, але тоді воназдавалася абсолютно незвичайної і створювала серйозні проблеми (в тому числічисто психологічного плану) для програмістів "старих часів".
    Тим не менше, число VB-користувачів зростала, причому багато в чому за рахуноквеличезної популярності її попередника - QuickBasic. При цьому VB швидко
    "мужнів", силкуючись за рахунок як розвитку середовища програмування, так івключення професійних елементів мови і проблемно-орієнтованихкоштів. І до моменту випуску в 1995 році VB 4.0 ця система була вжевизнаним і одним з найпоширеніших інструментів створення широкогокласу додатків. В даний час використовується версія VB 6.0, появаверсії 7.0 очікується на початку наступного року.

    Visual Basic for Applications

    На початку 90-х років намітилася чітка тенденція включення до програми,призначені для кінцевого користувача, кошти внутрішньогопрограмування, які повинні були вирішувати завдання настройки і адаптаціїцих пакетів для конкретних умов їх застосування.
    В кінці 1993 р. Microsoft оголосила про намір створити на основі VB новууніверсальну систему програмування для прикладних програм, якаодержала назву Visual Basic for Applications (VB для додатків).
    Природно, реалізацію цього проекту вона почала з власних офіснихпакетів.
    Перший варіант VBA 1.0 з'явився у складі MS Office 4.0, але лише впрограмах Excel 4.0 і Project 6.0. В інших же додатках - Word 6.0 і
    Access 2.0 - були власні варіанти Basic. Більш того, VBA 1.0 доситьсильно відрізнявся (причому маючи ряд істотних переваг) від використовуваноїтоді універсальної системи VB 3.0.
    Якісний перелом настав у кінці 1996 року з випуском MS Office 97, вякому була реалізована єдина середовище програмування VBA 5.0, включенав програми Word, Excel і PowerPoint. Більш того, VBA 5.0 використовувала тойсамий мовний механізм і середовище розробки, що й універсальна система
    VB 5.0. До складу випущеного рік тому MS Office 2000 увійшла відповідноверсія VBA 6.0, яка використовується в шести програмах - Word, Excel,
    PowerPoint, Access, Outlook, Frontpage.
    У результаті останні три роки Microsoft позиціонує сьогодні свій пакет
    MS Office не просто як набір прикладних програм, а як комплекснуплатформу для створення бізнес-додатків, які вирішують широке колоспеціалізованих задач користувачів. Саме цим пояснюється появоюв його складі спеціального випуску для розробників додатків - Developer
    Edition.
    Одночасно, VBA активно просуває в якості галузевого стандарту дляуправління програмованими додатками, оголосивши про можливість йоголіцензування. Сьогодні вже більше ста провідних світових фірм-розробниківприкладних програм (серед них є про російські) придбали ліцензії нанього і включають VBA до складу своїх програмних продуктів.
    Висновок зі сказаного вище. Освоєння механізму програмування VBA,реалізованого в офісному додатку, який встановлено на вашомукомп'ютері, відкриє вам можливість використання отриманих знань інавичок при роботі з десятками і сотнями інших програм, у тому числі ітих, яких поки що немає на світі. Почавши зі складання найпростішихмакрокоманд, при бажанні можна в рамках одного інструментарію статипрофесіоналом, які розробляють програмні системи будь-якої складності.
    Десять років тому в усьому світі було не більше двох мільйонів програмістів.
    Сьогодні їх налічується близько десяти мільйонів, з них не менше 70відсотків використовують як хоча б одне з інструментів VB або VBA.

    Обробка модулів VBA

    Проект - Файл програми Microsoft Office, в якому написана програма VBA

    Додаток - Додаток Microsoft Office (Word, Excel, Access, Power Pointта ін)

    Модуль - іменована область у файлі проекту містить в собі код,написаний на мові VBA

    Вікно проекту - "дерево", що містить на собі всі "дерева" завантаженихпроектів, "дерево" складається з імен модулів.

    Редактор VBA - редактор вбудований всередині програми, що дозволяє писати іредагувати програми на мові VBA.


    Для переходу в редактор VBA можна скористатися пунктами меню: Сервіс-
    Макроси-Редактор Visual Basic (Рис.1) (У Access вибрати закладку модулівабо форм, вибрати мишею потрібний об'єкт, зайти в меню: Вид-Програма)

    Для відкриття вікна проекту, необхідно скористатися пунктами менюредактора VBA: Вид-Дерево проекту

    Подвійним кліком миші по папці з іменами модулів можна відкрити її.

    Подвійним кліком миші на ім'я модуля, можна активізувати вікно редакторапотрібного вам модуля.

    Рис 1 Редактор VBA (ліворуч дерево проекту, активізований редактор модуля 1, який видно в правій частині вікна VBA)

    Примітка: У Access модулі можна обробляти, не заходячи в редактор VBA,вибравши закладку Модулі. У Access 1997 модулі обробляються тільки череззакладку Модулі, тому що вікна проекту в цій версії Access не існує.

    Перейменування, Видалення, Створення, Додавання, Експорт, Імпорт модулівпроекту

    Всі зазначені в заголовку дії можна виконати наступним чином:

    1. У редакторі VBA натиснути праву клавішу миші на дереві проекту на імені потрібного нам модуля (або на будь-якому імені наявного модуля, для того, щоб створити новий модуль)

    2. Вибрати відповідний пункт меню (для створення модуля вибрати пункти: Вставити-модуль)

    Імпорт та експорт модуля з проекту в проект


    Імпорт модуля через експортований файл (а також модулів звичайного VB)

    Для пересилання модуля з проекту в проект можна скористатися наступнимприйомом:

    1. Експортувати модуль з проекту в файл (в редакторі VBA натиснути праву клавішу миші на дереві проекту, на імені модуля, і вибрати пункт

    "Експорт файлу")

    2. Імпортувати модуль з файлу в проект (даний файл може бути не тільки експортним файлом з VBA програми, а й бути модулем звичайного VB)
    У редакторі VBA натиснути праву клавішу миші на дереві проекту, на іменіфайлу, і вибрати пункт "Експорт файлу"

    .

    Редакція модуля

    1. У редакторі VBA клацнути у вікні проекту два рази на ім'я потрібного нам модуля (див. рис 1) (У Access вибрати закладку Модулі та ім'я відповідного модуля, увійти в меню Вид-Програма .).

    2. Перейти в активізувати вікно редактора модуля (праворуч від вікна проекту) та редагувати його.

    3. З верхнього лівого списку, розташованого вгорі вікна редактора модуля, можна вибирати або розділ опису, або ім'я потрібної вам підпрограми (У модулі Форм, Листів Excel, Книжки Excel, Документа Word і т.п. з верхнього правого списку можна вибрати Загальну Область, або ім'я об'єкта (Ліста, книги, документи і т.п.), або ім'я елемента управління (який знаходиться на відповідні аркуші, Книзі,

    Документі тощо), при вибраному об'єкті, з правого списку вибирається ім'я події, для того, щоб активізувати відповідну подієву процедуру об'єкта або елемента керування).

    Обробка модулів VBA програмно

    Під "ІмяПроекта" у програмній конструкції мається на увазі відповіднийоб'єкт. Для зв'язку з книгою Excel призначений об'єкт - Workbooks ( "Ім'якниги "), а для зв'язку з документом Word об'єкт - Documents (" Назва документа ").
    Об'єкт для зв'язку з документом, який містить загальні макроси програми
    Word, має ім'я: NormalTemplate, в додатку Excel даний об'єктзаписується наступним чином: Workbooks ( "PERSONAL ").

    Експорт модуля проекту в файл

    ІмяПроекта.VBProject.VBComponents.Item (" Ім'я модуля "). Export" Шлях і
    Имяфайла "

    Імпорт модуля проекту з файлу

    ІмяПроекта.VBProject.VBComponents.Import" Шлях і имяфайла "

    Імпорт модуля через організатор (даний код тільки для Word додатка)

    Application.OrganizerCopy Source: = _

    "Шлях і ім'я проекту, звідки береться модуль", Destination: = _

    "Шлях і ім'я проекту куди імпортується модуль ", Name: =" Ім'я модуля ", Object
    _

    : = wdOrganizerObjectProjectItems

    Вставка нових рядків у модуль проекту

    ІмяПроекта.VBProject.VBComponents.Item ( "Ім'я модуля"). CodeModule.InsertLines
    №, S
    Де

    № - Номер рядка в модулі, з якою будуть вставлятися нові рядки

    S - вставляє рядок символів

    Примітка:

    В змінної S можуть міститися коди символів кінця рядків, які можнаотримати наступного функцією з наступним аргументом: CHR (13). Такимчином, мінлива S може містити в собі відразу кілька рядків:

    S = "Перший рядок" + chr (13) + "Другий рядок" + chr (13) + "Третій рядок"
    'і т.д.

    Видалення рядків з модуля

    ІмяПроекта .. VBProject.VBComponents.Item ( "Ім'ямодуля "). CodeModule.DeleteLines (№, Кількість)
    Де

    № - Номер рядка в модулі з якою будуть видалятися рядка

    Кількість - кількість видаляються строк

    Читання рядків з модуля

    ІмяПроекта . VBProject.VBComponents.Item ( "Ім'ямодуля "). CodeModule.Lines (№, Кількість)
    Де

    № - Номер рядка, в модулі з якою будуть починатися читання рядків

    Кількість - кількість читаються строк

    Визначення кількості рядків у модулі < p> ІмяПроекта.VBProject.VBComponents.Item ( "Ім'ямодуля "). CodeModule.CountOfLines

    Перейменування модулів проекту

    ІмяПроекта.VBProject.VBComponents.Item (" ІмяМодуля "). Name =" Нова назвамодуля "

    Видалення модулів проекту

    ІмяПроекта.VBProject.VBComponents.Remove _

    ІмяПроекта.VBProject.VBComponents.Item (" ІмяМодуля ")

    Визначення кількості модулів у проекті

    ІмяПроекта.VBProject.VBComponents.Count

    Створення нового модуля проекту

    'Створюємо новий модуль макросів і підпрограм

    ІмяПроекта.VBProject.VBComponents.Add vbext_ct_StdModule

    'Визначаємо індекс створеного модуля

    k = ІмяПроекта.VBProject.VBComponents.Count

    ' даємо своє ім'я модуля

    ІмяПроекта.VBProject.VBComponents.Item (k). Name = "Нове ім'я модуля"

    Постановка задачі та її рішення

    Вид об'єкту - Числова прямокутна матриця.
    Параметри об'єкту - Розмірності матриці
    Вхідні форми - Введення елементів матриці зі стовпцем (Клавіатура, Файл, Тест -формула), Вибір виду обробки.
    Види обробки - Побудова діаграм

    1. Середні значення по рядках і стовпцях

    2. Максимальні значення по рядках і стовпцях

    3. Мінімальні значення по рядках і стовпцях

    Option Explicit
    Const m = 15
    Dim i, j, k As Integer
    Public Obr As Byte
    Dim n, A (m, m), L (m) As Double
    Public inp, NameF, Path As String
    Dim Bukva As Variant
    Dim det, s, x As Double
    Public оголошує глобальну змінну. Оголошена таким способоммінлива стає доступною з усіх модулів і форм проекту. Якщомінлива оголошена в розділі глобальних оголошень, то доступ до неїздійснюється просто за її ім'ям. Якщо ж вона оголошена в коді форми, тодоступ до неї з інших форм і модулів здійснюється так: ІмяФорми.
    ІмяПеременной.

    Sub ButtonCancel_Click ()

    Sheet1.OptionButton1.Select

    Cng_List (False)
    End Sub
    Sub оголошує процедуру з ім'ям name і параметрами arglist.

    Public Sub Obrabotka ()
    Obr = Sheet1.ListBox1.ListIndex + 1n = Sheet2.Range ( "R2")
    If Obr> 0 Then

    Select Case Obr

    Case 1 'Середнє значення по рядках

    Call rab1 (n)

    Case 2 'середнє значення по стовпцях

    Call rab2 (n)

    Case 3' min по рядках

    Call rab3 (n)

    Case 4 'min по стовпцях

    Call rab4 (n)

    Case 5' max по рядках

    Call rab5 (n)

    Case 6 'max по стовпцях

    Call rab6 (n)

    End Select
    End If
    End Sub

    Тут ми, відповідно, оголошуємо глобальну процедуру виду обробки. Уданому випадку це підрахунок середніх, максимальних і мінімальних елементівматриці по стовпцях і рядках
    Call - Викликає процедуру або функцію. Оператор Call може бути опущений.
    Далі ...

    Sub ButtonOK_Click ()
    If Sheet1.OptionButton1.Value = True Then
    'Введення матриці з клавіатури в файл
    Met1: inp = InputBox "Введіть розмірність матриці А", "Введення розмірності",
    "testfile" - виводить вікно з запитом на введення значення. Параметри такі ж,як і у функції MsgBox.

    n = Val (inp) - Перетворює рядок до числа

    If (n> 0) And (n A (i, j) Then x = A (i, j)

    End If

    Next j

    Sheet4.Cells (i + 4, 9) = x

    Next i
    End Sub
    Sub rab4 (n As Variant)

    Call getA

    Sheet4.Activate

    Call InitS

    Sheet4.Range ( "H3") = "Min елементи по стовпцях"

    Sheet4.Range ( "G4") = "Стовпець"

    Sheet4.Range ( "I4") = "Min" < p> For j = 1 To nx = A (1, j) 'min

    Sheet4.Cells (j + 4, 7) = j

    For i = 2 To n

    If x> A (i, j) Then x = A (i, j)

    End If

    Next i

    Sheet4 . Cells (j + 4, 9) = x

    Next j
    End Sub
    Sub rab5 (n As Variant)

    Call getA

    Sheet4.Activate

    Call InitS

    Sheet4.Range ( "H3") = "Max елементи по рядках"

    Sheet4.Range ( "G4") = "Рядок"

    Sheet4.Range ( "H4") = "Max" < p> For i = 1 To ns = A (i, 1) 'max

    Sheet4.Cells (i + 4, 7) = i

    For j = 2 To n

    If s

    End If

    Next j

    Sheet4.Cells (i + 4, 9) = s

    Next i
    End Sub

    Sub rab6 (n As Variant)

    Call getA

    Sheet4.Activate

    Call InitS

    Sheet4.Range ( "H3") = "Max елементи постовпцях "

    Sheet4.Range (" G4 ") =" Стовпець "

    Sheet4.Range (" H4 ") =" Max "

    For j = 1 To ns = A (1, j) 'max

    Sheet4.Cells (j + 4, 7) = j

    For i = 2 To n

    If s

    End If

    Next i

    Sheet4.Cells (j + 4, 9) = s

    Next j
    End Sub

    Список використаної літератури

    . О. Васильєв, А. Андрєєв. VBA в Office 2000. Навчальний курс. С-Пб.:

    "Пітер", 2001

    . Білліг В.А. Засоби розробки VBA-програміста. Офісне програмування. Том 1. М.: Видавничо-торговий дім "Російська

    Редакція", 2001.

    . Білліг В.А. Світ об'єктів Excel 2000. М.: Видавничо-торговий дім

    "Русская Редакция", 2001.

    . В. І. Король. Visual Basic 6.0, Visual Basic for Applications 6.0. Мова програмування. Довідник з прикладами. М.: Видавництво КУДИЦ,

    2000.


         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status