Hoe u uw eigen eenvoudige app kunt maken met VBA
Als je enkele programmeerartikelen die ik hier op MUO heb gepubliceerd heb gevolgd, dan weet je dat ik een grote liefdesrelatie heb met VBA.
Het is niet zozeer de taal die ik leuk vind - hoewel het echt intuïtief is - het is de toegankelijkheid. Als je al een gebruiker bent van Microsoft Office, dan heb je niets bijzonders nodig, maar de dingen die je kunt bereiken zijn behoorlijk speciaal.
Enkele van de bases die we al hebben behandeld, zijn onder andere hoe je VBA kunt gebruiken om informatie door te geven. Alle informatie tussen VBA-applicaties passeren Het klembord gebruiken Alle informatie tussen VBA-applicaties doorgeven Het klembord gebruiken Een van de meest frustrerende delen van het werken met VBA in specifieke applicaties is dat het niet altijd gemakkelijk is om twee applicaties te krijgen “praten” naar elkaar. U kunt proberen voor zeer snelle transacties ... Meer lezen via het klembord, hoe e-mails verzenden vanuit Excel E-mails verzenden vanuit een Excel-spreadsheet VBA-scripts gebruiken E-mails verzenden vanuit een Excel-spreadsheet VBA-scripts gebruiken Onze codesjabloon helpt u bij het instellen geautomatiseerde e-mails vanuit Excel met behulp van Collaboration Data Objects (CDO) en VBA-scripts. Meer lezen en zelfs hoe u een internetbrowser kunt maken met VBA Hoe u uw eigen eenvoudige internetbrowser kunt maken VBA gebruiken Hoe u uw eigen basisbrowser kunt maken met behulp van VBA Wanneer u echt stopt met nadenken, is een internetbrowser in zijn eenvoudigste vorm niet niet zo'n indrukwekkend programma. Ik bedoel, ja, het internet is geweldig voor iedereen. Het concept van koppelen ... Lees meer .
Hoewel veel lezers vonden dat deze artikelen nuttig waren, hoorde ik in enkele gevallen van sommige lezers die helemaal nieuw waren in programmeren - ze hadden nog nooit een regel code gezien - en klaagden dat de instructies nog te ingewikkeld waren om te volgen.
Je eigen programma maken met VBA
Dus voor degenen onder u die echt graag uw eigen VBA-toepassing willen schrijven, maar nog nooit een enkele regel code hebben getypt, zal ik u begeleiden bij het maken van uw allereerste computerprogramma. Dit programma is niet bedoeld voor het programmeren van experts of zelfs gematigd geschoolde codeerders - het is voor de nieuweling.
Geloof me niet? Bent u twijfelachtig dat u de mogelijkheid heeft om een echt programma te schrijven? Nou, ik ben hier om je te bewijzen dat jij kan schrijf je eigen programma wanneer je maar wilt, met behulp van VBA. Ik doe het rustig aan en ik zal mijn best doen om het simpel te houden. Klaar?
Het raamwerk van uw applicatie creëren
Allereerst moet u kiezen uit een bestaand Office-product dat al op uw pc is geïnstalleerd - het kan Word, Excel, PowerPoint, Access of een ander zijn. In dit voorbeeld ga ik Excel gebruiken om mijn applicatie te maken. De eerste stap is om toegang tot de VBA-tools te krijgen door naar de werkbalk te gaan en op te klikken “Uitzicht”, dan “werkbalken” en dan “Controle Toolbox”.
Ik zat op een computer met een iets oudere versie van Excel, dus als u Excel 2007 of 2010 gebruikt, vindt u dezelfde bedieningselementen onder de “Ontwikkelaar” menu-item en klik vervolgens op “invoegen”. Waar u naar op zoek bent, is de bediening van de opdrachtknop.
Klik erop en teken een opdrachtknop op het werkblad. In Word of andere MS-apps moet je de knop ergens handig plaatsen. Het enige punt van de knop is om uw applicatie te starten. Een andere benadering zou zijn om een macro te schrijven die automatisch uw script start wanneer u het Excel-bestand opent - maar dat valt buiten het bestek van dit artikel. Laten we voorlopig gaan met een opdrachtknop.
Zorg ervoor dat de kleine “Ontwerpmodus” selectie is “op” - in de bovenstaande afbeelding is dit het pictogram van de driehoek / liniaal / potlood. Dubbelklik vervolgens op de opdrachtknop die u hebt gemaakt en de VBA-projecteditor wordt geopend.
Dit is het ontwikkelgebied waar je je nieuwe applicatie gaat maken. Het eerste dat u wilt doen, is het scherm op de voorkant van uw app maken. Om dit te doen, klik je met de rechtermuisknop op het Project dat al open is - in mijn geval wordt het genoemd “VBAProject” wat de standaard is. Selecteer vervolgens “invoegen” en “UserForm”.
Uw gebruikersformulier is nu in uw project geladen onder de “vormen” map met de standaardnaam van “UserForm1”.
Dubbelklik op “Sheet1”. Dit is de “code” achter de spreadsheet waar u de opdrachtknop hebt gemaakt. In het rechterdeelvenster zou u de “CommandButton1” geselecteerd en “CommandButton1_Click” code al daar.
Dit wordt a genoemd “functie”, en het is wat wordt uitgevoerd wanneer u op de opdrachtknop in het spreadsheetvenster klikt.
Dus, wat wil je dat je commandoknop doet als je erop klikt? U wilt dat het gebruikersformulier dat u zojuist hebt gemaakt, wordt geladen. U doet dit door een enkele regel in te typen, “Laad UserForm1”.
Nu je je programma hebt ingesteld om te starten zodra je op de opdrachtknop klikt die je hebt gemaakt, is het tijd om je eigenlijke applicatie te ontwerpen.
Eerst moet je ontwerpen hoe het programma eruit zal zien. In mijn geval wil ik een programma schrijven met tekstvelden en knoppen. Het programma neemt een hoop tekst in beslag en als ik op een knop klik, wordt al die gewone tekst omgezet in een HTML-uitvoerbestand dat ik als een perfect opgemaakt artikel in mijn blog kan kopiëren.
Om het formulier te ontwerpen, klikt u met de rechtermuisknop op “UserForm1”, en selecteer “Object bekijken”. Je ziet het eigenlijke formulier zelf aan de rechterkant van het scherm verschijnen. U kunt op het formulier klikken en de randlijnen verslepen om het formaat naar wens aan te passen.
Met de werkset Besturingselementen kunt u tekstvelden, labels en opdrachtknoppen aan uw formulier toevoegen. Als u echt creatief wilt worden, vindt u ook kaders, selectievakjes en selectievakjes, vervolgkeuzelijsten en nog veel meer. Dit zijn de basiscomponenten van de meeste basistoepassingen die er zijn.
Als de toolbox niet wordt weergegeven, kunt u deze vinden onder de werkbalkpictogrammen in het hoofdbewerkingsmenu. Als u eroverheen beweegt, ziet u het woord “gereedschapskist” pop-up. Sleep eenvoudig elk onderdeel dat u wilt naar uw formulier en laat het eruit zien zoals u het wilt.
Terwijl u elk formulier in uw formulier plaatst, let dan goed op de “eigenschappen” vak voor dat item. U wilt het “(Naam)” naar iets dat logisch is voor waar u het voor gebruikt, omdat deze naam is hoe uw programma naar dat item gaat verwijzen. Maak er iets van dat duidelijk en logisch is.
Cool Functionaliteit toevoegen
Wat u al hebt gemaakt, is meer dan voldoende voor de meeste toepassingen. U kunt op knoppen klikken en de tekstvelden interacteren met het Excel-werkblad of Word-document waar u de app hebt gemaakt. Wat er vandaag echter aan het doen was, is een applicatie proberen te maken die enigszins bruikbaar is buiten de Office-app. In mijn geval wil ik een uitvoer naar een bestand op mijn computer maken. Je kunt bestanden lezen en schrijven door toe te voegen wat a heet “Referentie” naar uw project.
Een referentie is een soort van een “toevoeging” waarmee je extra opdrachten in je programma kunt schrijven die je anders niet zou kunnen doen zonder de referentie. U kunt meestal de lijst met referenties hieronder vinden “Hulpmiddelen” in de werkbalk en selecteren “Referenties”. Voor bestands-I / O-functionaliteit bladert u gewoon naar beneden en selecteert u Aan “Microsoft Scripting Runtime”.
In je programma kun je toegang krijgen tot alle componenten die je op je formulier hebt gemaakt door dingen zoals textbox1.text, commandbutton1.caption te typen om toegang te krijgen tot informatie in dat object (zoals de tekst in een tekstveld), of om verandering die informatie.
In mijn geval wil ik het “Maak output” om alle tekst uit alle velden die ik heb gemaakt te selecteren en deze vervolgens naar een uitvoerbestand te schrijven, op een speciale manier geformatteerd.
Als ik op die knop klik, zie ik de code voor de gebeurtenis met de klik op de knop. De onderstaande code ziet er misschien ingewikkeld uit als je nog nooit eerder VBA hebt gedaan, maar het is echt niet slecht als je er één regel per keer naar kijkt.
Om het lezen en schrijven van bestanden in te stellen nadat u de referentie hebt toegevoegd, kunt u deze gemakkelijk instellen door de volgende regels te typen:
Dim fso As New FileSystemObject Dim fnum Dim MyFile as String MyFile = "c: \ temp \ OutputArticle.txt" fnum = Freefile ()
Wat doet dit? Wel, het zet op “Mijn bestand” als het pad naar uw uitvoerbestand waarnaar u wilt schrijven en het maakt “fnum” als de bestandsidentificatie “sleutel” voor de code. Ten slotte verbindt u deze twee samen door te typen “Open MyFile For Output as fnum” - en bam, je hebt je open verbinding om naar het bestand te schrijven wat je wilt door het uit te geven Print #fnum, tekst commando's, zoals hieronder getoond.
Zie de bovenstaande verwijzingen naar zaken als txtHeaderImage en txt1stSection? Die zouden eigenlijk txtHeaderImage.text moeten zijn, maar met VBA kun je dit soort snelkoppelingen gebruiken - tekst weglaten in het geval van dingen zoals tekstvelden, en je programma zal nog steeds werken.
Toen ik klaar was met het afdrukken van de tekst in alle tekstvelden op het hoofdscherm van de applicatie, hoefde ik alleen nog maar terug te schakelen naar de tekst “Ontwerp” modus, klik op de knoppen en ga vervolgens kijken hoe het uitvoerbestand eruitziet.
En ja hoor, er was mijn webcode, allemaal geformatteerd met de vereiste HTML-tags die ik in mijn programma had gedefinieerd, en alle tekst van die tekstvelden waar ze naartoe moesten gaan.
Als je erover nadenkt, kun je alles doen met zo'n app. U kunt een eenvoudig invoerformulier maken voor gegevensinvoer, dat de gegevens vervolgens uitvoert naar een CSV-bestand of rechtstreeks naar het Excel-achtergrondblad op de achtergrond. U kunt een toepassing schrijven die informatie uit een tekstbestand leest, de informatie opmaakt of berekeningen uitvoert en die gegevens vervolgens in een spreadsheet laadt.
De mogelijkheden zijn echt alleen beperkt door je eigen verbeelding als het gaat om VBA. U hoeft geen duur ontwikkelingspakket te kopen, zoals Visual Studio - open gewoon elk MS Office-programma, schakel over naar de VBA-editor en u bent meteen een programmeur.
Heb je geprobeerd om je eigen VBA-applicatie te maken? Was het zo moeilijk als je dacht dat het zou zijn? Ben je een vaste VBA-programmeur op je werk of thuis? Deel uw gedachten en inzichten over uw liefde voor VBA in de opmerkingen hieronder.
Afbeelding: foto van computer via Shutterstock
Ontdek meer over: App Development, Programming, Visual Basic Programming.