Зараз обговорюють

"Тобто є ряд завдань, які взагалі без рекурсії не наважуються."  - це як розуміти? Перефразуй, будь ласка. 

виправив, йшлося про те що деякі завдання можна вирішити лише при використанні рекурсії

Спасибі дуже корисна стаття

А ще щось планується подібного найближчим часом?


Дякую за підтримку, радий що Вам сподобалось!

Так маю вже майже дороблений проект по управлінні Audio файлом, на заміну стандартним клавішам управління HTML5, але ще не встиг відтестувати програвання файлів з інтернету, поки лише локально працює

Надіюсь найближчим часом дороблю й закину

Рахунки

webmoneyeur - E385818210641
usd - Z304643423050
uah - U354026817492
rub - R301704373231easypay80002677bitcoin1F5HRGroUtEQW9HBNbeew8iKh5KQ8vJxzw

Зворотній зв'язок

Для покращення роботи сайту надсилайте свої зауваження:
mailЗауваження
mailПропозиція

Статистика

UkrNET - поисково-информационный ресурс

VBA : Основи програмування Visual Basic for Applications

Трошки теорії

Visual Basic for Applications (VBA, Visual Basic для Додатків) – інтерпретована мова програмування (дещо спрощена версія Visual Basic), вбудована в Microsoft Office (Windows та Mac OS), а також в багато інших програмних пакетів, такі як AutoCAD, WordPerfect і ESRI ArcGIS, але ми зупинимось на використанні в програмах Microsoft Office.

VBA може виконуватися лише в рамках додатку, в який він вбудований. Крім того, він може використовуватися для управління одним додатком з іншого, за допомогою OLE Automation (наприклад, таким чином можна створити файли Word, Access чи повідомлення в Outlook з середовища Excel).

Використання VBA полягає в правильному розумінні об'єктної моделі в кожному окремому додатку. Слід зазначити, що VBA всього лише управляє об'єктами, а кожен програмний продукт (Excel, Word, Access, PowerPoint і т.п.) має свою об'єктну модель. Додатком можна керувати програмним чином тільки за допомогою об'єктів, які представлені в цьому додатку.

Так, в об'єктній моделі Excel представлено кілька потужних об'єктів аналізу даних, наприклад робочі листи, функції, діаграми, зведені таблиці. За допомогою VBA ви можете працювати з цими об'єктами і розробляти автоматизовані процедури.

У процесі вивчення ви зможете отримати повне уявлення об'єктної моделі. Спочатку вона здасться вам неймовірно складною. Однак з часом розрізнені фрагменти будуть зібрані в єдину картину, і ви зрозумієте, що опанували дуже складною темою!

Основи VBA

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

Коротко опис структури VBА:

  • Код. Дії в VBA запрограмовані користувачем.
  • Модуль. Ви створюєте (або записуєте) програму VBA, яка зберігається в модулі VBA. Модуль VBA складається з процедур.
  • Процедури. Процедура, по суті, являє собою елемент комп'ютерної програми, яка виконує певну дію. У VBA підтримуються два типу процедур: Sub (підпрограма) і Function (функція).
  • Sub. Процедура Sub включає набір операторів, які можуть викликатися різними способами. Приклад:
    Sub Test ()
    	Sum = 1 + 1
    	MsgBox "Відповідь "&Sum
    End Sub 
    дана процедура здійснює сумування двох елементів та виводить повідомлення на екран з результатом виконаної операції.
  • Function. Модуль VBA може також включати процедури типу Function. Ця процедура повертає єдине значення (іноді масив значень) і може викликатися з іншої процедури VBA або використовуватися у формулі робочого листа. Приклад:
    Function SumArg (argl, arg2)
    	SumArg = argl + arg2
    End Function 
    дана процедура здійснює сумування двох переданих їй елементів та повертає результатом виконаної операції нашій функції SumArg.
  • Об'єкти. VBA управляє об'єктами, які представлені запущеним додатком (В даному випадку - Excel). Наприклад, Excel – це об'єкт під назвою Application він містить інші об'єкти, наприклад Workbook і CommandBar. Об'єкт Workbook містить інші об'єкти, наприклад Worksheet і Chart. Об'єкт Worksheet може включати такі об'єкти, як Range, Cells і т.д. Сукупність об'єктів називається об'єктної моделлю Excel.
  • Колекції. Однакові об'єкти утворюють колекцію. Наприклад, колекція Worksheets включає всі робочі листи у зазначеній робочій книзі. Колекція CommandBars включає всі об'єкти CommandBar. Колекції самі є об'єктами.
  • Ієрархія об'єктів. При посиланні на об'єкт, вкладений в інший об'єкт, положення в ієрархічній структурі об'єктної моделі задається за допомогою роздільника - "крапки". Наприклад, на робочу книгу Test.xlsx можна послатися так:
    Application.Workbooks("Test.xlsx")
    При цьому встановлюється посилання на робочу книгу Test.xlsx в колекції Workbooks. Ця колекція міститься в об'єкті Excel під назвою Application. Переходячи на наступний рівень, можна послатися на Аркуш1 в книзі Test:
    Application.Workbooks("Test.xlsx").Worksheets("Аркуш1")
    Можна також перейти на рівень нижче і послатися на окрему комірку:
    Application.Workbooks("Test.xlsx").Worksheets("Аркуш1").Range("Al")
  • Активні об'єкти. При посиланні на об'єкт Excel використовує активні об'єкти. Якщо активної робочої книгою є Test.xlsx, посилання записується в спрощеному вигляді:
    Worksheets("Аркуш1").Range("А1")
    Якщо відомо, що активним листом є Аркуш1, посилання можна спростити ще більше:
    Range("А1")
  • Властивості об'єкта. Властивість може розглядатися як настройка об'єкта. Наприклад, об'єкт діапазону має властивості Value і Name. Об'єкту діаграми притаманні властивості HasTitle і Туре. Для визначення (Зміни) властивостей об'єкта можна використовувати VBA. Наприклад, послатися на значення в комірці А1 аркуша Аркуш1 можна так:
    Worksheets("Аркуш1").Range("Al").Value
  • Змінні VBA. Змінним VBA можна присвоювати значення. Розглядайте змінну як ім'я, яке застосовується для зберігання певного значення. Так, якщо значення в комірці А1 на аркуші Аркуш1 потрібно присвоїти змінної Interest, використовуйте наступний оператор VBA:
    Interest=Worksheets("Аркуш1").Range("Al").Value
    змінні не є регістро-залежними! При написанні змінної Interest як INTEREST їх автоматично буде приведено до одного вигляду і вони будуть приймати одинакові значення!
  • Методи об'єктів. Всі об'єкти мають методи. Метод - це дія, яка виконується над об'єктом. Наприклад, один з методів об'єкта Range називається ClearContents. Він видаляє вміст діапазону комірок. методи вводяться після назви об'єкта з методом, причому як роздільник використовується крапка. Наприклад, для видалення вмісту комірки А1 з активного робочого аркуша використовується наступна конструкція:
    Range("А1").ClearContents
  • Стандартні конструкції мов програмування. До складу VBA входять всі конструкції сучасних мов програмування, включаючи масиви, цикли і т.д.
  • Події. Деякі об'єкти розпізнають певні події, причому можна створити код, який викликається при настанні певних подій. наприклад, відкриття робочої книги призведе до виклику події Workbook_Open. Зміна осередки в робочій книзі призведе до виклику події Worksheet_Change.

Формат файлів

Для старих форматів MS Office 2003 макроси можна зберігати в звичних файлах формату (*.xls, *.doc).

Починаючи із MS Office 2007 було розширено формати файлів, для підтримки конкретних можливостей, так файли із макросами отримали своє власне розширення (*.xlsm, *.docm)


Слід зазначити, що в даній статті VBA описаний досить повно. Тепер вам залишилося вивчити представлені можливості більш детально, чому і присвячені наступні статті.


view3350like1dislike0 avatard_l4w clock 2016-04-08 05:28

Коментарі:



Для даної статті відсутні коментарі

Про нас

"Programmers World" розроблено з метою полегшення в освоєнні навичок програмування, та поширення матеріалів з сфери ІТ Українською мовою.

Кожен бажаючий може безкоштовно користуватися ресурсами сайту, щоб:

- Вивчати теоретичні аспекти мов програмування

- Переглядати практичне застосування теорії при виконанні різних міні проектів з відкритим кодом

- Розміщати свої завдання на форумі для допомоги в їх реалізації, або готового коду який може бути корисний іншим користувачам

- Спілкуватись з іншими користувачами та обмінюватись досвідом

Сайт функціонує на безопланій основі та ентузіазмі розробника, якщо Ви бажаєте долучитись до розвитку даного проекту то можете пожертвувати кошти на рахунки розміщені в блоці "Допомога сайту".

Сайт

Зареєстровані користувачі можуть скористатися системою діалогів, в профілі користувача, для отримання потрібної інформації. Написати!

Також Ви можете використати форми відправки Зауважень та Пропозицій.


Електронна пошта

Ви можете звертатись на нашу поштову скриньку site.programmersworld@gmail.com

www.000webhost.com