Visual Basic for Applications - macrocomenzi în aplicațiile Office 2016+

Înregistrarea macrocomenzilor și rularea lor în aplicațiile Office

Prin înregistrarea macrocomenzilor, puteți automatiza diferite acțiuni simple care se repetă pentru a accelera unele operațiuni, crescând astfel eficiența în lucru. Aplicația Macro Recorder poate fi folosită și pentru a crea cod VBA care efectuează unele acțiuni. Ulterior, codul VBA poate fi modificat pentru a-l particulariza.

Ce este VBA

Visual Basic for Applications este un limbaj de programare creat de Microsoft construit în aplicații. VBA este folosit pentru a automatiza operații în aplicațiile Office - Word, Excel, Outlook, Access și PowerPoint.

Operațiile pot fi și înregistrate - astfel, aplicația Office va scrie codul VBA (operațiunile efectuate de utilizator sunt transpuse în cod VBA, care poate fi folosit ulterior oricând este nevoie).

Diferența dintre Visual Basic și Visual Basic for Applications

VBA se bazează pe Visual Basic – un limbaj de programare care provine din BASIC (Beginner's All-Purpose Symbolic Instruction Code). Limbajul BASIC este mai ușor de utilizat deoarece folosește cuvinte engleze recunoscute (sau variante ale lor), în locul termenilor de programare abstracți folosiți în alte limbaje de programare. Pe lângă comenzile în engleză, designerii BASIC s-au străduit să păstreze punctuația și sintaxa cât mai simplă și mai familiară.

Visual Basic are o interfață vizuală, care oferă comenzi rapide eficiente, cum ar fi tehnicile drag-and-drop și alte elemente grafice.

Visual Basic for Applications este o versiune a Visual Basic modificată pentru aplicațiile Microsoft Office. Setul de obiecte (proprietăți și comportamente) disponibile în fiecare aplicație diferă de la o aplicație Office la alta. De exemplu, unele obiecte VBA folosite în Word nu se regăsesc în Excel (și invers) deoarece unele comenzi din Word (de exemplu, realizarea unui Cuprins) nu se folosesc în Excel.

Cu toate acestea, majoritatea comenzilor, structura și tehnicile de programare de bază din VBA sunt aceleași în Word și în Excel. De aceea, lucrul cu VBA din Word, Excel sau altă aplicație cu VBA este asemănător, iar multe metode sunt identice în toate aplicațiile (diferă doar obiectele, care sunt specifice aplicației folosite).

VBA funcționează întotdeauna într-o aplicație gazdă (cum ar fi Access sau Word). Cu excepția câtorva programe independente, care de obicei sunt create cel mai bine cu Visual Basic .NET, este necesar ca aplicația gazdă să fie deschisă pentru ca VBA să poată rula. Acest lucru înseamnă că nu pot fi create aplicații de sine stătătoare (standalone) cu VBA, așa cum pot fi realizate cu Visual Basic. Aplicația gazdă poate fi ascunsă astfel încât utilizatorii să vadă doar interfața (de obicei, formularul de utilizator). Făcând acest lucru, puteți crea iluzia unei aplicații independente - dar VBA este folosit mai rar în acest scop. Pentru a realiza programe standalone, se poate folosi Visual Basic Express.

Ce sunt Visual Basic .NET și Visual Basic Express?

Visual Basic .NET (VB .NET) este o versiune a implementării limbajului BASIC de la Microsoft. BASIC, care conține un set vast de biblioteci predefinite, care permit să faceți tot ceea ce Windows este capabil să facă. Deși VB .NET este folosit de obicei pentru a scrie aplicații independente, se pot accesa și bibliotecile dintr-o macrocomandă VBA. Fiecare aplicație Office are propria sa bibliotecă de obiecte, dar librăriile .NET conțin și comenzi suplimentare (chiar și pentru a manipula sistemul de operare Windows).

Visual Basic Express este inclus într-o versiune gratuită a VB .NET. Visual Studio Express for Desktop poate fi descărcată de pe pagina:

https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

Visual Studio Express include câteva limbaje de programare, printre care și VB.

Cuprins

Macrocomenzi. Noțiuni de bază 
Pornirea înregistrării unei macrocomenzi
Înregistrarea unei macrocomenzi în Word
Înregistrarea unei macrocomenzi în Excel
Cum se poate declanșa o macrocomandă existentă
Fereastra de dialog Organizer din Word
Introducere în Visual Basic Editor
Deschiderea Visual Basic Editor
Folosirea ferestrelor principale din Visual Basic Editor
Setarea proprietăților pentru un proiect
Personalizarea Visual Basic Editor
Editarea macrocomenzilor înregistrate
Testarea unei macrocomenzi în Visual Basic Editor
Editarea unei macrocomenzi în Word
Când ar trebui să se folosească Macro Recorder?
Crearea de cod în Visual Basic Editor
Crearea unei proceduri pentru Word
Crearea unei macrocomenzi pentru Excel
Crearea unei proceduri pentru PowerPoint
Crearea unei proceduri pentru Access
Înțelegerea elementelor esențiale ale sintaxei VBA
Proceduri
Instrucțiuni
Cuvinte cheie
Expresii
Operatori
Variabile
Constante
Argumente
Obiecte
Colecții
Proprietăți
Metode
Evenimente - Events
Obiecte și componentele lor
Lucrul cu Variabile, Constante și enumerări
Lucrul cu variabile
Lucrul cu constante
Lucrul cu enumerări
Folosirea de variabile matrice (Array)
Ce este o matrice (Array)?
Declararea unei matrici
Stocarea de valori într-o matrice
Matrici Multidimensionale
Declararea unei matrici dinamice
Redimensionarea unei matrici
Obținerea informației dintr-o matrice
Ștergerea unei matrici
Cum se află dacă o variabilă este matrice
Aflarea limitelor unei matrici
Sortarea unei matrici
Căutarea într-o matrice
Găsirea obiectelor, metodelor și a proprietăților necesare
Ce este un obiect?
Lucrul cu colecții
Găsirea obiectelor de care este nevoie
Folosirea variabilelor de obiect pentru a reprezenta obiecte
Programarea în echipă și OOP
Folosirea funcțiilor încorporate (Built-In)
Ce este o funcție?
Folosirea funcțiilor
Folosirea funcțiilor de convertire a datelor
Folosirea funcției Asc pentru a returna codul unui caracter
Folosirea funcției Val pentru a extrage un număr de la începutul unui șir
Folosirea funcției Format pentru a formata o Expresie
Funcția Chr și a constantele pentru a introduce caractere speciale
Folosirea funcțiilor pentru manipulare șiruri (Strings)
Folosirea funcțiilor Left, Right și Mid pentru a returna o parte a unui șir
Folosirea InStr și InStrRev pentru a găsi un String în alt String
Folosirea LTrim, RTrim și Trim pentru a șterge spațiile din String
Folosirea Len pentru a verifica lungimea unui șir
Folosirea funcțiilor StrConv, LCase și UCase
Folosirea funcției StrComp
Folosirea funcțiilor matematice în VBA
Folosirea funcțiilor de dată și timp din VBA
Folosirea funcției DatePart pentru a analiza date
Calculul intervalelor de timp folosind funcția DateDiff
Folosirea funcției DateAdd
Folosirea funcțiilor File-Management
Crearea propriilor funcții
Componentele unei funcții
Crearea unei funcții
Exemple de funcții pentru orice aplicație Office cu VBA activat
Crearea unei funcții pentru Word
Crearea unei funcții pentru Excel
Crearea unei funcții pentru PowerPoint
Crearea unei funcții pentru Access
Luarea deciziilor în cod
Cum se compară lucrurile în VBA?
Testarea mai multor condiții folosind operatori logici
Folosirea de bucle pentru acțiuni care se repetă
Când trebuie folosite buclele?
Înțelegerea noțiunilor de bază ale buclelor
Folosirea buclelor For... pentru repetări fixe
Folosirea buclelor Do... pentru un număr variabil de repetări
Bucle While...Wend 
Bucle imbricate
Evitarea buclelor infinite
Preluarea de informații folosind casete Message Box și Input Box
Deschiderea unei macrocomenzi
Afișarea unui mesaj în bara de stare din Word și Excel
Caseta pentru mesaj - Message Box
Casete de introducere date - Input Box
Crearea de casete de dialog simple
Când se poate folosi o casetă de dialog?
Crearea unei casete de dialog personalizate
Lucrul cu grupuri de controale
Legarea unui formular la o procedură
Obținerea alegerilor făcute de utilizator într-o casetă de dialog
Exemple de conectare a formularelor la proceduri
Folosirea casetelor de dialog predefinite ale aplicației din VBA
Crearea de formulare complexe
Crearea și lucrul cu casetele de dialog complexe
Folosirea evenimentelor pentru a controla formulare
Construirea codului modular și folosirea claselor
Crearea unui cod modular
Crearea și folosirea claselor
Depanarea codului și lucrul cu erorile
Principiile depanării
Tipuri diferite de erori
Instrumentele de depanare din VBA
Lucrul cu bucle infinite
Lucrul cu erorile din timpul execuției - Runtime Errors
Suprimarea alertelor
Manipularea întreruperilor datorate utilizatorului în Word, Excel, Project
Documentarea codului
Construirea corectă a codului
Ce este o procedură bine construită?
Păstrarea sau restaurarea mediului de utilizare
Readucerea cursorului la poziția de dinaintea executării procedurii
Informarea utilizatorului în timpul execuției procedurii
Verificarea dacă o procedură este executată în anumite condiții
Faceți curățenie după executarea procedurii
Explorarea caracteristicilor de securitate ale VBA
Înțelegerea modului în care VBA implementează securitatea
Semnarea proiectului de macrocomandă cu semnătură digitală
Alegerea unui nivel adecvat de securitate
Blocarea codului
Word Object Model și Key Objects
Examinarea Word Object Model
Lucrul cu colecția Documents și obiectul Document
Lucrul cu obiecte utilizate pe scară largă în Word
Utilizarea Find and Replace în VBA
Lucrul cu antete (Headers), subsoluri (Footers) și numere de pagină
Lucrul cu secțiuni, inițializare pagină, ferestre și vizualizări
Lucrul cu tabele
Lucrul cu Excel Object Model și Key Objects
Prezentare generală a modelului de obiect Excel
Înțelegerea obiectelor care pot fi create în Excel
Gestionarea registrelor de lucru
Lucrul cu foi de lucru
Lucrul cu Active Cell sau Selection
Lucrul cu intervale (Range)
Configurarea opțiunilor
Lucrul cu obiecte utilizate pe scară largă în Excel
Lucrul cu diagrame
Lucrul cu obiecte Windows
Lucrul cu Find and Replace
Adăugarea formelor
Înțelegerea PowerPoint Object Model și a Key Objects
Prezentare generală a modelului de obiect PowerPoint
Înțelegerea obiectelor cu care se poate crea în PowerPoint
Lucrul cu prezentări
Lucrul cu Windows și Views
Lucrul cu diapozitive
Lucrul cu elementele Master
Lucrul cu Shapes și redarea prezentărilor în PowerPoint
Lucrul cu forme
Lucrul cu anteturi și subsoluri
Configurarea și executarea unei expuneri de diapozitive
Outlook Object Model și Key Object
Prezentarea generală a modelului de obiect Outlook
Lucrul cu obiectul Application
Înțelegerea metodelor generale de lucru cu obiectele Outlook
Lucrul cu mesaje
Lucrul cu elemente Calendar
Lucrul cu sarcini și solicitări de sarcini
Căutarea elementelor
Lucrul cu evenimente (Events) în Outlook
Lucrul cu evenimente la nivel de aplicație
Lucrul cu evenimente la nivel de element
Descrierea caracteristicii Quick Steps
Descrierea Access Object Model și a Key Objects
Introducere în VBA din Access
Prezentare generală a modelului de obiect Access
Înțelegerea obiectelor creatoare din Access
Deschiderea și închiderea bazelor de date
Lucrul cu obiectul Screen
Folosirea obiectului DoCmd pentru a executa comenzile din Access
Manipularea datelor într-o bază de date de acces prin VBA
Înțelegerea modului de lucru
Pregătirea pentru gestionarea datelor dintr-o bază de date
Deschiderea unui set de înregistrări
Accesarea unei anumite înregistrări dintr-un set de înregistrări
Căutarea unei înregistrări
Returnarea textului dintr-o celulă
Editarea unei înregistrări
Inserarea și ștergerea înregistrărilor
Închiderea unui set de înregistrări
Salvarea unui set de înregistrări în Cloud
Accesarea unei aplicații dintr-o altă aplicație
Înțelegerea instrumentelor utilizate pentru comunicarea între aplicații
Folosirea Automation pentru a transfera informații
Utilizarea funcției Shell pentru executarea unei aplicații
Utilizarea Data Objects pentru stocarea și regăsirea informațiilor
Comunicarea prin intermediul DDE
Comunicarea prin SendKeys
Dincolo de VBA
Programarea panglicii Office 2016
Ce este XML?
Ascunderea grupului Clipboard de pe panglica Word
Lucrul cu Excel și PowerPoint
Anularea modificărilor de pe panglică
Selectarea domeniului de personalizare a panglicii
Adăugarea unui grup nou
Adăugarea de apelări Callback
Adăugarea atributelor
Utilizarea meniurilor și listelor
Comutare folosind butonul de comutare Toggle
Modificarea panglicii în Access
Adăugarea unui Callback în Access