Hvordan kan du lage din egen enkle app med VBA

Hvordan kan du lage din egen enkle app med VBA / Windows

Hvis du har fulgt med noen programmeringsartikler som jeg har publisert her på MUO, vet du at jeg har en stor kjærlighetsaffære med VBA.

Det er ikke så mye språket jeg liker - selv om det er veldig intuitivt - det er tilgjengeligheten. Hvis du allerede er en bruker av Microsoft Office, trenger du ikke noe spesielt, men de tingene du kan oppnå, er ganske spesielle.

Noen av basene vi allerede har dekket inkluderer hvordan du bruker VBA til å passere informasjon Pass Any Information mellom VBA-applikasjoner ved hjelp av utklippstavlen Passer enhver informasjon mellom VBA-programmer ved hjelp av utklippstavlen En av de mest frustrerende delene av å jobbe med VBA i bestemte applikasjoner, er at det ikke alltid er lett å få to applikasjoner til “snakke” til hverandre. Du kan prøve for svært raske transaksjoner ... Les mer ved hjelp av utklippstavlen, hvordan sende e-poster fra Excel Hvordan sende e-post fra et Excel-regneark ved hjelp av VBA-skript Hvordan sende e-post fra et Excel-regneark ved hjelp av VBA-skript Vår kodemal vil hjelpe deg med å konfigurere automatiserte e-poster fra Excel ved hjelp av samarbeidsdataobjekter (CDO) og VBA-skript. Les mer, og til og med hvordan du lager en nettleser med VBA Hvordan lage din egen grunnleggende nettleser ved hjelp av VBA Hvordan lage din egen grunnleggende nettleser ved hjelp av VBA Når du virkelig slutter å tenke på det, er en nettleser i sin enkleste form isn Det er egentlig ikke så imponerende et søknad. Jeg mener, ja, Internett er fantastisk av alles standarder. Konseptet med å knytte ... Les mer .

Mens mange lesere fant disse artiklene å være nyttige, i noen tilfeller hørte jeg fra noen lesere som var helt nye for programmering - de hadde aldri sett en kodeks før - og klaget over at instruksjonene fortsatt var for kompliserte å følge.

Lag ditt eget program med VBA

Så, for de av dere som virkelig vil elske å kunne skrive din egen VBA-applikasjon, men aldri har skrevet en enkelt kodekode før, skal jeg gå gjennom å lage ditt aller første dataprogram. Dette programmet er ikke for programmering eksperter eller til og med moderat dyktige kodere - det er for newbie.

Tro ikke på meg? Er du tvilsom at du har muligheten til å skrive et aktuelt program? Vel, jeg er her for å bevise at du kan skriv ditt eget program når du vil, ved hjelp av VBA. Jeg skal ta det sakte, og jeg vil gjøre mitt beste for å holde det enkelt. Klar?

Opprette rammeverket for søknaden din

Først må du velge mellom et eksisterende Office-produkt som allerede er installert på din PC - det kan være Word, Excel, Powerpoint, Access eller noe annet. I dette eksemplet skal jeg bruke Excel for å lage programmet. Det første trinnet er å få tilgang til VBA-verktøyene ved å gå til verktøylinjen og klikke på “Utsikt”, deretter “verktøy~~POS=TRUNC” og så “Kontrollverktøyskasse”.

Jeg var på en datamaskin med en litt eldre versjon av Excel, så hvis du bruker Excel 2007 eller 2010, finner du de samme kontrollene under “Utvikler” menyelement og deretter klikke på “Sett inn”. Det du leter etter er kommandoknappkontrollen.

Klikk på det, og skriv en kommandoknapp på regnearket. I Word eller andre MS-apper må du plassere knappen et sted praktisk. Det eneste punktet på knappen er å starte programmet. En annen tilnærming ville være å skrive en makro som automatisk starter skriptet ditt når du åpner Excel-filen - men det er utenfor rammen av denne artikkelen. For nå, la oss gå med en kommandoknapp.

Pass på at den lille “Designmodus” valget er “på” - I bildet over er det trekanten / linjal / blyantikonet. Dobbeltklikk deretter på kommandoknappen du opprettet, og VBA-prosjektredigeren åpnes.

Dette er utviklingsområdet der du skal lage din nye applikasjon. Det første du vil gjøre er å lage frontskjermbildet for appen din. For å gjøre dette, høyreklikk på prosjektet som allerede er åpent - i mitt tilfelle heter det “VBAProject” som er standard. Velg deretter “Sett inn” og “Userform”.

Ditt brukerskjema er nå lastet inn i prosjektet ditt under “skjemaer” mappe med standardnavnet på “UserForm1”.

Dobbeltklikk på “Sheet1”. Dette er “kode” bak regnearket der du opprettet kommandoknappen. På høyre panel bør du se “CommandButton1” valgt og “CommandButton1_Click” kode allerede der.

Dette kalles a “funksjon”, og det er det som går når du klikker på kommandoknappen i regnearkvinduet.

Så, hva vil du at kommandoknappen skal gjøre når du klikker på den? Du vil at den skal laste brukerformularen du nettopp har opprettet. Du gjør dette ved å skrive inn en enkelt linje, “Last inn UserForm1”.

Nå som du har programmet satt opp for å starte øyeblikket du klikker på kommandoknappen du opprettet, er det på tide å designe din faktiske applikasjon.

Først vil du utforme hva programmet vil se ut. I mitt tilfelle vil jeg skrive et program med tekstfelt og knapper. Programmet skal ta en masse tekst, og når jeg klikker på en knapp, skal den konvertere all den rente teksten til en HTML-utdatafil som jeg kan kopiere til bloggen min som en perfekt formatert artikkel.

For å designe skjemaet, høyreklikk på “UserForm1”, og velg “Se objekt”. Du får se selve skjemaet dukker opp på høyre side av skjermen. Du kan klikke på skjemaet og dra grenselinjene for å endre størrelsen på det, men du vil.

Ved hjelp av Verktøykasse Kontroller kan du legge til tekstfelt, etiketter og kommandoknapper i skjemaet. Hvis du virkelig vil bli kreativ, finner du også rammer, valg og avmerkingsbokser, rullegardinlister og mye mer. Dette er de grunnleggende komponentene til de fleste grunnleggende applikasjoner der ute.

Hvis verktøykassen ikke vises, kan du finne den under verktøylinjeikonene i toppredigeringsmenyen - når du svinger over det, ser du ordet “verktøykasse” dukker opp. Bare dra hver komponent du vil ha i skjemaet ditt, og få det til å se ut, men du vil.

Når du plasserer hver enkelt i skjemaet ditt, vær oppmerksom på “Eiendommer” boks for det aktuelle elementet. Du vil redigere “(Navn)” feltet til noe som gir mening for hva du bruker det til, fordi dette navnet er hvordan programmet skal referere til det aktuelle elementet. Gjør det noe som er klart og fornuftig.

Legge til kul funksjonalitet

Det du allerede har opprettet, vil være mer enn nok for de fleste applikasjoner. Du kan klikke på knapper og få tekstfeltene til å virke sammen med Excel-regnearket eller Word-dokumentet der du opprettet appen. Men det som gjorde i dag, prøver å lage et program som har litt bruk utenfor Office-appen. I mitt tilfelle vil jeg lage en utgang til en fil på datamaskinen min. Du kan lese og skrive til filer ved å legge til det som heter a “Henvisning” til prosjektet ditt.

En referanse er en slags “tillegg” som lar deg skrive ekstra kommandoer i programmet du ellers ikke ville kunne uten referansen. Du kan vanligvis finne listen over referanser under “Verktøy” i verktøylinjen og velg “referanser”. For fil I / O-funksjonalitet, bare bla ned og velg på “Microsoft Scripting Runtime”.

I programmet kan du få tilgang til alle komponentene du opprettet på skjemaet ditt ved å skrive ting som textbox1.text, commandbutton1.caption, for å få tilgang til informasjon i det aktuelle objektet (som teksten i et tekstfelt) eller til endring den informasjonen.

I mitt tilfelle vil jeg ha “Lag utgang” knappen for å trekke all tekst fra alle feltene jeg opprettet, og deretter skrive dem til en utdatafil, formatert på en spesiell måte.

Ved å klikke på den knappen ser jeg koden for knappeklikkhendelsen. Koden nedenfor kan se komplisert hvis du aldri har gjort VBA før, men det er egentlig ikke dårlig hvis du ser på det en linje av gangen.

For å konfigurere fillesning og skriving når du har lagt til referansen, kan du enkelt sette opp ved å skrive følgende linjer:

Dim fso Som Ny FileSystemObject Dim fnum Dim MyFile som String MyFile = "c: \ temp \ OutputArticle.txt" fnum = Freefile ()

Hva gjør denne? Vel, det setter opp “myfile” som banen til utdatafilen du vil skrive til, og den oppretter “FNUM” som filidentifikasjon “nøkkel” for koden. Til slutt kobler du disse to sammen ved å skrive “Åpne MyFile For Output som fnum” - og bam, du har din åpne forbindelse for å skrive til filen alt du vil ved å utstede Skriv ut #fnum, tekst kommandoer, som vist nedenfor.

Se referansene ovenfor til ting som txtHeaderImage og txt1stSection? De burde faktisk være txtHeaderImage.text, men med VBA kan du bruke snarveier som det, og forlater .text når det gjelder ting som tekstfelter, og programmet vil fortsatt fungere.

Når jeg er ferdig Skriver ut teksten som finnes i alle tekstfeltene på hovedprogramskjermbildet, alt jeg måtte gjøre til tekst var byttet ut av “Design” modus, klikk på knappene, og deretter gå å sjekke ut hva utdatafilen ser ut.

Sikker nok, det var min webkode, alle formatert med de nødvendige HTML-kodene som jeg definerte i programmet mitt, og all teksten fra de tekstfeltene ble plassert der de skulle gå.

Hvis du tenker på det, kan du gjøre noe med en app som dette. Du kan opprette et enkelt inntastingsskjema for dataregistrering, som deretter sender dataene til enten en CSV-fil eller direkte inn i bakgrunnen Excel-regneark. Du kan skrive et program som leser informasjon ut av en tekstfil, formater informasjonen eller gjør beregninger, og laster deretter dataene i et regneark.

Mulighetene er virkelig begrenset bare av din egen fantasi når det gjelder VBA. Du trenger ikke å kjøpe en dyr utviklingspakke som Visual Studio - bare åpne et MS Office-program, bytt til VBA Editor, og du er en umiddelbar programmerer.

Har du prøvd å lage ditt eget VBA-program? Var det så vanskelig som du trodde det ville være? Er du en vanlig VBA-programmerer på jobben eller hjemme? Del dine tanker og innsikt om din kjærlighet til VBA i kommentarfeltet nedenfor.

Bilde Kreditt: Bilde av Computer Via Shutterstock

Utforsk mer om: App Utvikling, Programmering, Visual Basic Programmering.