Hur du kan göra din egen enkla app med VBA
Om du har följt med några av de programmeringsartiklar som jag har publicerat här på MUO vet du att jag har en stor kärleksaffär med VBA.
Det är inte så mycket det språk jag tycker om - även om det är väldigt intuitivt - det är tillgängligheten. Om du redan är användare av Microsoft Office behöver du inte något speciellt, men de saker du kan uppnå är ganska speciella.
Några av de baser som vi redan har täckt inkluderar hur du använder VBA för att skicka information. Pass Any Information Mellan VBA-program som använder utklippstavlan. Passa all information mellan VBA-program med hjälp av utklippstavlan. En av de mest frustrerande delarna av att arbeta med VBA inom specifika applikationer är att det inte alltid är lätt att få två applikationer till “prata” till varandra. Du kan försöka med mycket snabba transaktioner ... Läs mer med hjälp av klippbordet, hur man skickar e-postmeddelanden från Excel Hur man skickar e-postmeddelanden från ett Excel-kalkylblad med VBA-skript Hur skickar du e-postmeddelanden från ett Excel-kalkylblad med hjälp av VBA-skript Vår kodmall hjälper dig att ställa in automatiserade e-postmeddelanden från Excel med hjälp av Collaboration Data Objects (CDO) och VBA-skript. Läs mer och till och med hur man gör en Internet-webbläsare med VBA Hur man gör din egen grundläggande webbläsare med hjälp av VBA Hur man gör din egen grundläggande webbläsare med hjälp av VBA När du verkligen slutar tänka på det är en webbläsare i sin enklaste form isn Det är inte så imponerande en ansökan. Jag menar, ja, Internet är fantastiskt av någons standarder. Konceptet att länka ... Läs mer .
Medan många läsare fann att de här artiklarna var till hjälp, hörde jag i några fall av vissa läsare som var helt nya för programmering - de hade aldrig sett en kod tidigare - och klagade på att instruktionerna fortfarande var för komplicerade att följa.
Gör ditt eget program med VBA
Så, för er som verkligen vill älska att kunna skriva din egen VBA-applikation, men aldrig har skrivit en enda kodkod, kommer jag att gå igenom dig genom att göra ditt allra första datorprogram. Programmet är inte för programmeringsexperter eller till och med måttligt skickliga kodare - det är för nybörjaren.
Tro mig inte? Är du osäker på att du har förmåga att skriva ett verkligt program? Jo, jag är här för att bevisa att du kan skriv ditt eget program när du vill, med hjälp av VBA. Jag ska ta det långsamt och jag gör mitt bästa för att hålla det enkelt. Redo?
Skapa ramar för din ansökan
Först måste du välja mellan en befintlig Office-produkt som redan är installerad på din dator - det kan vara Word, Excel, Powerpoint, Access eller någon annan. I det här exemplet kommer jag att använda Excel för att skapa min ansökan. Det första steget är att få tillgång till VBA-verktygen genom att gå till verktygsfältet och klicka på “Se”, sedan “verktygsfält” och då “Kontrollverktygslåda”.
Jag var på en dator med en lite äldre version av Excel, så om du använder Excel 2007 eller 2010 hittar du samma kontroller under “Utvecklare” menyalternativ och sedan klicka på “Föra in”. Vad du letar efter är kommandoknappskontrollen.
Klicka på den och dra en kommandoknapp på kalkylbladet. I Word eller andra MS-appar måste du placera knappen någonstans bekväm. Den enda punkten på knappen är att starta din ansökan. Ett annat tillvägagångssätt är att skriva ett makro som automatiskt startar ditt skript när du öppnar Excel-filen - men det ligger utanför ramen för denna artikel. För nu, låt oss gå med en kommandoknapp.
Se till att den lilla “Designläge” valet är “på” - I bilden ovan är triangeln / linjal / penna ikonen. Dubbelklicka sedan på kommandoknappen du skapade, och VBA-projektredigeraren öppnas.
Det här är utvecklingsområdet där du ska skapa din nya applikation. Det första du vill göra är att göra skärmen på din app. För att göra det, högerklicka på projektet som redan är öppet - i mitt fall heter det “VBAProject” vilket är standardvärdet. Välj sedan “Föra in” och “Userform”.
Ditt användarformulär är nu laddat in i ditt projekt under “formulär” mapp med standardnamnet på “UserForm1”.
Dubbelklicka på “Blad1”. Det här är “koda” bakom kalkylbladet där du skapade kommandoknappen. På den högra panelen ska du se “CommandButton1” valda och “CommandButton1_Click” kod redan där.
Detta kallas a “fungera”, och det är det som körs när du klickar på kommandoknappen i kalkylbladsfönstret.
Så, vad vill du ha din kommandoknapp att göra när du klickar på den? Du vill att den ska ladda användarformuläret som du just skapat. Du gör detta genom att skriva in en enda rad, “Ladda UserForm1”.
Nu när du har ditt program inrättat för att starta det ögonblick som du klickar på kommandoknappen du skapade är det dags att designa din faktiska applikation.
Först ska du utforma vad programmet kommer att se ut. I mitt fall vill jag skriva ett program med textfält och knappar. Programmet kommer att ta en massa text och när jag klickar på en knapp kommer den att konvertera all den vanliga texten till en HTML-utdatafil som jag kan kopiera till min blogg som en perfekt formaterad artikel.
För att utforma formuläret högerklickar du på “UserForm1”, och välj “Visa objekt”. Du ser själva själva formuläret visas på höger sida av skärmen. Du kan klicka på formuläret och dra gränslinjerna för att ändra storlek på det du vill.
Med hjälp av Verktygslådan Kontroller kan du lägga till textfält, etiketter och kommandoknappar i ditt formulär. Om du verkligen vill bli kreativ, hittar du också ramar, urval och kryssrutor, listrutor och mycket mer. Dessa är de grundläggande komponenterna i de flesta grundläggande applikationer där ute.
Om verktygslådan inte dyker upp kan du hitta den under ikonerna i verktygsfältet i huvudredigeringsmenyn - när du svävar över det ser du ordet “verktygslåda” dyka upp. Dra bara varje komponent som du vill ha i din form och få den att se ut som du vill.
När du placerar var och en i din form, noggrant uppmärksamma “Egenskaper” rutan för det objektet. Du vill redigera “(Namn)” fält till något som är meningsfullt för vad du använder det för, för det här namnet är hur ditt program kommer att referera till det objektet. Gör det något som är klart och vettigt.
Lägger till Cool Functionality
Det du redan har skapat skulle vara mer än tillräckligt för de flesta applikationer. Du kan klicka på knappar och göra textfälten interagera med Excel-kalkylbladet eller Word-dokumentet där du skapade appen. Men det som gjordes idag försöker göra en applikation som har lite användning utanför Office-appen. I mitt fall vill jag skapa en utdata till en fil på min dator. Du kan läsa och skriva till filer genom att lägga till vad som heter a “Referens” till ditt projekt.
En referens är typ av en “tillägg” som låter dig skriva extra kommandon i ditt program som du annars inte skulle kunna utan referens. Du kan vanligtvis hitta listan över referenser under “Verktyg” i verktygsfältet och välj “referenser”. För fil I / O-funktionalitet, bläddra bara ner och välj på “Microsoft Scripting Runtime”.
I ditt program kan du komma åt alla komponenter du skapade på din blankett genom att skriva saker som textbox1.text, commandbutton1.caption, för att få tillgång till information inom det här objektet (som texten i ett textfält) eller till Byta den informationen.
I mitt fall vill jag ha “Skapa utdata” knappen för att dra all text från alla de fält som jag skapade och skriv sedan dem till en utdatafil, formaterad på ett speciellt sätt.
Genom att klicka på den knappen ser jag koden för knapphändelsen. Koden nedan kan se komplicerat om du aldrig har gjort VBA förut, men det är egentligen inte dåligt om du tittar på det en rad i taget.
För att konfigurera filläsning och skrivning när du har lagt till referensen kan du enkelt ställa in den genom att skriva följande rader:
Dim fso Som Ny FileSystemObject Dim fnum Dim MyFile som sträng MyFile = "c: \ temp \ OutputArticle.txt" fnum = Freefile ()
Vad gör det här? Tja, det sätter upp “Min fil” som sökvägen till din utdatafil du vill skriva till, och den skapar “fnum” som filidentifiering “nyckel-” för koden. Slutligen ansluter du dessa två tillsammans genom att skriva “Öppna MyFile for Output som fnum” - och bam, du har din öppna anslutning för att skriva till filen allt du vill genom att utfärda Skriv ut #fnum, text kommandon, som visas nedan.
Se ovanstående referenser till saker som txtHeaderImage och txt1stSection? De borde egentligen vara txtHeaderImage.text, men med VBA kan du använda genvägar som det - lämnar ut .text när det gäller saker som textfält och ditt program kommer fortfarande att fungera.
När jag avslutat Skriv ut texten som finns i alla textfälten på huvudprogrammets skärm, var allt jag behövde göra till text byta ut ur “Design” läge, klicka på knapparna och gå och kolla vad utdatafilen ser ut.
Visst nog, det var min webbkod, alla formaterad med de nödvändiga HTML-taggarna som jag definierade i mitt program och all text från de textfälten placerade där de skulle gå.
Om du funderar på det kan du göra något med en app så här. Du kan skapa en enkel inmatningsform för datainmatning, som sedan matar ut data till antingen en CSV-fil eller direkt i bakgrunden Excel-kalkylbladet. Du kan skriva en applikation som läser information ur en textfil, formaterar informationen eller gör beräkningar och laddar sedan den data i ett kalkylblad.
Möjligheterna är verkligen begränsade bara av din egen fantasi när det gäller VBA. Du behöver inte köpa ett dyrt utvecklingspaket som Visual Studio - öppna bara något MS Office-program, byt till VBA Editor, och du är en omedelbar programmerare.
Försökte du skapa din egen VBA-applikation? Var det så svårt som du trodde det skulle vara? Är du en vanlig VBA-programmerare på jobbet eller hemma? Dela dina tankar och insikter om din kärlek till VBA i kommentarfältet nedan.
Bildkrediter: Bild av dator Via Shutterstock
Utforska mer om: Apputveckling, Programmering, Visual Basic Programmering.