Cum vă puteți face App simplu cu VBA

Cum vă puteți face App simplu cu VBA / ferestre

Dacă ați urmat împreună cu unele dintre articolele de programare pe care le-am publicat aici la MUO, atunci știi că am o aventură de dragoste cu VBA.

Nu este atât de mult limba pe care o doresc - deși este cu adevărat intuitivă - este accesibilitatea. Dacă sunteți deja un utilizator al Microsoft Office, atunci nu aveți nevoie de ceva special, dar lucrurile pe care le puteți realiza sunt destul de speciale.

Unele dintre bazele pe care le-am acoperit deja includ modul de utilizare a VBA pentru a transmite informații Pass orice informații între aplicațiile VBA Utilizarea Clipboard Pass Orice informații între aplicațiile VBA Utilizarea Clipboard Una dintre cele mai frustrant părți de a lucra cu VBA în aplicații specifice, că nu este întotdeauna ușor să primiți două aplicații “vorbi” unul altuia. Puteți încerca să efectuați tranzacții foarte rapide ... Citește mai mult folosind clipboard-ul, cum se trimit e-mailuri din Excel Cum să trimiteți e-mailuri dintr-o foaie de calcul Excel Folosind script-uri VBA Cum să trimiteți e-mailuri dintr-o foaie de calcul Excel utilizând șabloane VBA Șablonul de cod vă va ajuta să configurați automate de e-mailuri din cadrul Excel folosind Collaboration Data Objects (CDO) și script-uri VBA. Citește mai mult și chiar cum să faci un browser de Internet cu VBA Cum să-ți faci propriul browser de Internet bazat pe VBA Cum să îți faci propriul browser de Internet de bază Folosind VBA Când te oprești să te gândești la asta, un browser de Internet în forma sa cea mai simplă nu este o aplicație impresionantă. Vreau să spun, da, Internetul este uimitor după standardele cuiva. Conceptul de legare ... Citește mai mult .

În timp ce mulți cititori au găsit aceste articole pentru a fi de ajutor, în câteva cazuri am auzit de la unii cititori care erau complet noi în programare - nu au văzut niciodată o linie de cod înainte - și s-au plâns că instrucțiunile erau încă prea complicate pentru a urma.

Efectuarea propriului program cu VBA

Deci, pentru aceia dintre voi care ar dori cu adevărat să vă poată scrie propria aplicație VBA, dar nu au tastat niciodată o singură linie de cod, vă voi face să vă fac primul program de calculator. Acest program nu este pentru programarea experților sau chiar coderi moderat calificați - este pentru începător.

Nu mă credeți? Sunteți îndoielnic că aveți capacitatea de a scrie un program real? Sunt aici să-ți dovedesc asta poate sa scrieți programul dvs. ori de câte ori doriți, folosind VBA. O să-l iau încet și voi face tot posibilul pentru a fi simplu. Gata?

Crearea cadrului aplicației dvs.

În primul rând, va trebui să alegeți dintr-un produs Office existent deja instalat pe PC - acesta poate fi Word, Excel, Powerpoint, Access sau orice altceva. În acest exemplu, voi folosi Excel pentru a crea aplicația mea. Primul pas este să accesați instrumentele VBA accesând bara de instrumente și făcând clic pe “Vedere”, atunci “Bare de instrumente” și apoi “Control Toolbox”.

Am fost pe un calculator cu o versiune puțin mai veche a Excel, deci dacă utilizați Excel 2007 sau 2010, veți găsi aceleași controale în “Dezvoltator” , apoi faceți clic pe “Introduce”. Ceea ce cauți este comanda Buton de comandă.

Faceți clic pe acesta și desenați un buton de comandă pe foaia de calcul. În aplicațiile Word sau alte aplicații MS, va trebui să plasați butonul undeva convenabil. Singurul punct al butonului este lansarea aplicației. O altă abordare ar fi să scrieți o macrocomandă care lansează automat scriptul dvs. când deschideți fișierul Excel - dar acest lucru depășește domeniul de aplicare al acestui articol. Pentru moment, hai să mergem cu un buton de comandă.

Asigurați-vă că micul “Mod de proiectare” selecția este “pe” - în imaginea de mai sus este pictograma triunghi / riglă / creion. Apoi, faceți dublu clic pe butonul de comandă pe care l-ați creat și se va deschide VBA Project Editor.

Acesta este domeniul de dezvoltare în care vă veți crea noua aplicație. Primul lucru pe care doriți să îl faceți este să faceți ecranul frontal al aplicației dvs. Pentru a face acest lucru, faceți clic dreapta pe Proiectul care este deja deschis - în cazul meu se numește “VBAProject” care este implicit. Apoi, selectați “Introduce” și “userform”.

Formularul dvs. de utilizator este acum încărcat în proiectul dvs. sub “Formulare” folder cu numele implicit al “UserForm1”.

Faceți dublu clic pe “Foaia1”. Acesta este “cod” în spatele foii de calcul în care ați creat butonul de comandă. Pe panoul din dreapta, ar trebui să vedeți “CommandButton1” selectat și “CommandButton1_Click” cod deja acolo.

Aceasta se numește a “funcţie”, și este ceea ce se execută atunci când faceți clic pe butonul de comandă din fereastra de calcul tabelar.

Deci, ce doriți să faceți butonul de comandă când faceți clic pe el? Doriți ca acesta să încarce Formularul de utilizator pe care tocmai l-ați creat. Faceți acest lucru introducând o singură linie, “Încărcați UserForm1”.

Acum, că programul dvs. este setat pentru lansarea momentului în care faceți clic pe butonul de comandă pe care l-ați creat, este timpul să vă proiectați aplicația actuală.

În primul rând, veți dori să proiectați ce va arăta programul. În cazul meu, vreau să scriu un program cu câmpuri de text și butoane. Programul va lua o grămadă de text, iar când fac clic pe un buton, va converti tot textul simplu într-un fișier de ieșire HTML pe care îl pot copia în blogul meu ca pe un articol perfect formatat.

Pentru a proiecta formularul, faceți clic dreapta pe “UserForm1”, și selectați “Vizualizați obiectul”. Veți vedea formularul propriu-zis afișat în partea dreaptă a ecranului. Puteți să faceți clic pe formular și să trageți liniile de frontieră pentru ao redimensiona oricum doriți.

Folosind caseta de instrumente Controls, puteți adăuga câmpuri de text, etichete și butoane de comandă în formular. Dacă doriți să deveniți creativi, veți găsi, de asemenea, cadre, casete de selectare și selectare, liste derulante și multe altele. Acestea sunt componentele de baza ale celor mai multe aplicatii de baza acolo.

Dacă setul de instrumente nu apare, îl puteți găsi sub pictogramele barei de instrumente din meniul principal de editor - când plasați cursorul peste el, veți vedea cuvântul “trusa de scule” Pop-up. Glisați fiecare componentă pe care o doriți în forma dvs. și faceți-o să arate oricum doriți.

Pe măsură ce plasați fiecare în forma voastră, acordați o atenție deosebită “Proprietăți” pentru elementul respectiv. Doriți să editați “(Nume)” câmpul la ceva care are sens pentru ceea ce îl utilizați pentru că, pentru că acest nume este modul în care programul dvs. se referă la acel element. Fa-o ceva clar și are sens.

Adăugarea funcționalității Cool

Ceea ce ați creat deja ar fi mai mult decât suficient pentru majoritatea aplicațiilor. Puteți să faceți clic pe butoane și să faceți ca câmpurile de text să interacționeze cu foaia de calcul Excel sau cu documentul Word unde ați creat aplicația. Cu toate acestea, ceea ce a fost făcut astăzi este încercarea de a face o aplicație care are o anumită utilizare în afara aplicației Office. În cazul meu, vreau să creez o ieșire la un fișier de pe calculatorul meu. Puteți citi și scrie fișiere prin adăugarea a ceea ce se numește a “Referinţă” la proiectul dvs..

O referință este un fel de “add-on” care vă permite să scrieți comenzi suplimentare în programul dvs. pe care altfel nu ați putea să le faceți fără referință. De obicei, puteți găsi lista de referințe de sub “Unelte” în bara de instrumente și selectați “Referințe”. Pentru funcționalitatea I / O de fișiere, defilați în jos și selectați “Microsoft Runtime pentru Scripting Microsoft”.

În programul dvs., puteți accesa toate componentele pe care le-ați creat în formularul dvs. tastând lucruri precum textbox1.text, commandbutton1.caption, pentru a accesa informațiile din interiorul acelui obiect (cum ar fi textul dintr-un câmp de text) sau Schimbare aceste informații.

În cazul meu, vreau “Creați ieșire” pentru a extrage toate textele din toate câmpurile pe care le-am creat și apoi le scriu într-un fișier de ieșire, formatat într-un mod special.

Dacă faceți clic pe acel buton, văd codul pentru evenimentul cu click pe buton. Codul de mai jos poate părea complicat dacă nu ați mai făcut VBA înainte, dar nu este rău dacă te uiți la el într-o singură linie.

Pentru a configura citirea și scrierea fișierelor după ce ați adăugat referința, puteți să o configurați cu ușurință introducând următoarele rânduri:

Dim fso Ca fișier nou FileSystemObject Dim fnum Dim MyFile ca șir MyFile = "c: \ temp \ OutputArticle.txt" fnum = Freefile ()

Ce face asta? Ei bine, se instalează “Dosarul meu” ca calea către fișierul de ieșire pe care doriți să o scrieți și pe care o creează “fnum” ca identificare a fișierului “cheie” pentru cod. În cele din urmă, le conectați prin tastare “Deschideți MyFile Pentru ieșire ca fnum” - și bam, aveți conexiunea deschisă pentru a scrie în fișier tot ce doriți prin emitere Tipăriți #fnum, text comenzi, după cum se arată mai jos.

Vedeți referințele de mai sus la lucruri precum txtHeaderImage și txt1stSection? Acestea ar trebui să fie de fapt txtHeaderImage.text, dar cu VBA puteți folosi comenzi rapide ca acestea - lăsând outtext în cazul unor lucruri precum câmpurile de text și programul dvs. va funcționa în continuare.

Odată ce am terminat de imprimat textul conținut în toate câmpurile de text de pe ecranul aplicației principale, tot ce trebuia să fac pentru text a fost trecerea din “Proiecta” mod, faceți clic pe butoane și apoi verificați ce arată fișierul de ieșire.

Destul de sigur, a fost codul meu web, toate formatate cu etichetele HTML necesare pe care le-am definit în programul meu și tot textul din acele câmpuri de text plasate unde ar trebui să meargă.

Dacă te gândești la asta, poți face orice cu o aplicație ca asta. S-ar putea crea un simplu formular de intrare pentru introducerea datelor, care apoi transmite datele fie unui fișier CSV, fie direct în foaia de calcul Excel. Puteți scrie o aplicație care citește informații dintr-un fișier text, formatează informațiile sau face calcule și apoi le încarcă într-o foaie de calcul.

Posibilitățile sunt într-adevăr limitate numai de imaginația ta când vine vorba de VBA. Nu trebuie să achiziționați un pachet scump de dezvoltare, cum ar fi Visual Studio - să deschideți orice program MS Office, să treceți la editorul VBA și sunteți un programator instant.

Ați încercat să vă creați propria aplicație VBA? A fost așa de tare cum credeai că ar fi? Sunteți un programator regulat VBA la serviciu sau acasă? Împărtășește-ți gândurile și intuițiile despre dragostea ta pentru VBA în secțiunea de comentarii de mai jos.

Image Credit: Fotografie a computerului prin Shutterstock

Explorați mai multe despre: Dezvoltarea aplicațiilor, Programarea, Programarea Visual Basic.