- 08/14/2019
- 25 minutter på å lese
-
- u
- R
- L
- m
- U
-
+4
Er du mot en repeterende rydde opp i femti tabeller i Word? Ønsker du et bestemt dokument for å be brukeren om innspill når den åpner?, Har du problemer med å finne ut hvordan du får dine kontakter fra Microsoft Outlook i et Microsoft Excel-regneark på en effektiv måte?
Du kan utføre disse oppgavene og oppnå en mye mer ved hjelp av Visual Basic for Applications (VBA) for Office—en enkel, men kraftig programmeringsspråk som du kan bruke til å utvide Office-programmer.
Denne artikkelen er for erfarne Office-brukere som ønsker å lære om VBA og som ønsker et innblikk i hvordan programmering kan hjelpe dem til å tilpasse Office.
Office suite av programmer har et rikt sett av funksjoner., Det er mange forskjellige måter å redigere, formatere, og manipulere dokumenter, e-post, databaser, skjemaer, regneark og presentasjoner. Den store strømmen av VBA programmering i Office er at nesten hver operasjon som kan utføres med en mus, tastatur, eller en dialogboks kan også gjøres ved hjelp av VBA. Videre, hvis det kan gjøres en gang med VBA, det kan gjøres like enkelt hundre ganger. (Faktisk, automatisering av repeterende oppgaver er en av de mest vanlige bruker av VBA på Kontoret.,)
Utover kraft av VBA skripting for å akselerere hver-dag oppgaver, kan du bruke VBA å legge til ny funksjonalitet til Office-programmer eller-for å be og samhandle med brukeren på dokumentene dine på måter som er spesifikke for din bedrift har behov for. Du kan For eksempel skrive noen VBA-kode som viser en pop-up-melding som minner brukere å lagre et dokument til en bestemt nettverksstasjon første gang de prøver å lagre det.
Denne artikkelen utforsker noen av de viktigste grunnene til å utnytte kraften av VBA programmering., Den utforsker VBA språk-og ut-av-det-box verktøy som du kan bruke til å arbeide med løsninger. Til slutt, det inkluderer noen tips og metoder for å unngå noen av de vanligste programmering frustrasjoner og feiltrinn.
Merk
Interessert i å utvikle løsninger som utvider Office-opplevelse på tvers av flere plattformer? Sjekk ut den nye Office Add-ins modell. Office Add-in har et lite fotavtrykk i forhold til VSTO Add-ins og løsninger, og du kan bygge dem ved å bruke nesten hvilken som helst web-programmering-teknologi, slik som HTML5, JavaScript, CSS3, og XML.,
Ved å bruke VBA-og hvorfor
Det er flere prinsipielle grunner til å vurdere VBA programmering i Office.
Automatisering og repetisjon
VBA er effektive når det kommer til gjentatte løsninger til formatering eller korreksjon problemer. For eksempel, har du noen gang endret stilen av ledd på toppen av hver side i Word? Har du noen gang hatt å formatere flere tabeller som ble limt inn fra Excel inn i et Word-dokument eller en e-post i Outlook? Har du noen gang hatt å gjøre den samme endringen i flere Outlook-kontakter?,
Hvis du har en endring som du har å gjøre mer enn ti eller tjue ganger, kan det være verdt å automatisere det med VBA. Hvis det er en endring du har å gjøre hundrevis av ganger, er det absolutt er verdt å vurdere. Nesten alle formatering eller redigere endringen du kan gjøre for hånd, kan gjøres i VBA.
Utvidelser til brukermedvirkning
Det er tider når du ønsker å oppmuntre eller tvinge brukere til å samhandle med Office-program eller dokument på en bestemt måte, og er ikke del av standard-programmet., For eksempel, ønsker du kanskje å be brukerne til å ta noen spesielle tiltak når de er åpne, lagre eller skrive ut et dokument.
Samspillet mellom Office-programmer
trenger du å kopiere alle dine kontakter fra Outlook til Word og deretter formatere dem på noen spesiell måte? Eller, har du behov for å flytte data fra Excel til et sett av PowerPoint-lysbilder? Noen ganger enkle kopier og lim inn ikke gjøre hva du vil den skal gjøre, eller det er for treg., Du kan bruke VBA programmering for å samhandle med detaljer av to eller flere Office-programmer på samme tid, og deretter endrer innholdet i en søknad som er basert på innholdet i en annen.
å Gjøre ting på en annen måte
VBA programmering er en kraftig løsning, men det er ikke alltid den optimale tilnærmingen. Noen ganger er det fornuftig å bruke andre måter for å oppnå dine mål.
Den kritiske spørsmål å stille er om det er en enklere måte. Før du begynner med en VBA-prosjektet, vurdere innebygde verktøy og standard funksjoner., For eksempel, hvis du har en tidkrevende redigering og layout oppgave, bør du vurdere å bruke stiler eller akselerator-tastene for å løse problemet. Kan du utføre oppgaven en gang, og deretter bruker du CTRL+Y (Gjenta) for å gjenta det? Kan du opprette et nytt dokument med riktig format eller en mal, og deretter kopiere innholdet til det nye dokumentet?
Office-programmer, er mektige, den løsning som du trenger, kan allerede være det. Ta litt tid til å lære mer om Office før du hopper inn i programmering.
Før du utfører en VBA-prosjekt, sørg for at du har tid til å arbeide med VBA., Programmering krever fokus og kan være uforutsigbare. Spesielt som nybegynner, kan aldri slå til programmering med mindre du har tid til å jobbe nøye. Prøver å skrive en «quick script» for å løse et problem når en frist som ruver kan resultere i en svært stressende situasjon. Hvis du er i et rush, du ønsker kanskje å bruke konvensjonelle metoder, selv om de er monotont og repeterende.
VBA Programmering 101
ved Hjelp av kode for å lage programmer som gjør ting
Du tenker kanskje at å skrive kode er mystisk eller vanskelig, men de grunnleggende prinsipper for bruk hver dag resonnement og er ganske tilgjengelig., Microsoft Office-programmer som er laget på en slik måte at de utsetter ting kalt objekter som kan motta instruksjoner, på samme måte som en telefon som er designet med knapper som du kan bruke til å samhandle med telefonen. Når du trykker på en knapp, vil telefonen gjenkjenner instruksjon og inkluderer tilsvarende tall i sekvensen som du ringer til. I programmering, kan du samhandle med programmet ved å sende instruksjoner til ulike objekter i programmet. Disse objektene er ekspansiv, men de har sine begrensninger., De kan bare gjøre det de er laget for å gjøre, og de vil bare gjøre hva du instruere dem til å gjøre.
For eksempel, tenk brukeren som åpner et dokument i Word, gjør noen endringer, lagrer dokumentet, og deretter lukker den. I den verden av VBA programmering, Ord avslører et Dokument objekt. Ved hjelp av VBA-kode, kan du instruere Document-objektet til å gjøre ting som å Åpne, Lagre eller Lukke.
følgende avsnitt beskriver hvordan objektene er organisert og beskrevet.,
objektmodellen
Utviklere organisere programmering objekter i et hierarki, og at hierarkiet er kalt objekt modell av programmet. Ord, for eksempel, har en topp-nivå Søknad objekt som inneholder et Dokument objekt. Document-objektet inneholder Avsnitt objekter og så videre. Objekt modeller omtrent speile det du ser i brukergrensesnittet. De er en konseptuell kart av programmet og dets evner.
definisjonen av et objekt kalles en klasse, slik at du kan se disse to begrepene brukes om hverandre., Teknisk sett, en klasse er en beskrivelse eller en mal som er brukt til å opprette, eller instantiate, et objekt.
Når et objekt finnes, kan du manipulere den ved å angi dens egenskaper, og kaller sine metoder. Hvis du tror på objektet som et substantiv, egenskapene er adjektiver som beskriver substantiv og metodene er de verb som animate substantiv. Endring av en eiendel endres noen kvaliteten på utseende eller oppførsel av objektet. Å ringe ett av objektet metoder fører til objektet til å utføre noen handling.,
VBA-kode i denne artikkelen går mot en åpne Office-programmer hvor mange av gjenstandene som koden manipulerer er allerede oppe og går, for eksempel, selve Programmet, Regnearket i Excel, Word-Dokument, Presentasjonen i PowerPoint, Utforske og Mappe objekter i Outlook. Når du vet det grunnleggende oppsettet av objekt-modellen og noen viktige egenskaper av Programmet som gir tilgang til sin nåværende tilstand, kan du begynne å utvide og manipulere som Office-program med VBA på Kontoret.,
Metoder
I Word, for eksempel, kan du endre egenskapene og ta i bruk metoder for gjeldende Word-dokument ved å bruke ActiveDocument eiendom Programmet objekt. Dette ActiveDocument eiendom returnerer en referanse til Dokumentet objekt som er aktive i Word-programmet. «Returnerer en referanse til» betyr «gir deg tilgang til.»
følgende kode som gjør akkurat det du sier; som er, det lagrer det aktive dokumentet i programmet.,
Application.ActiveDocument.Save
Lese koden, fra venstre til høyre, «I dette Programmet, med Dokumentet som det refereres til ved ActiveDocument, påberope Lagre metode.»Å være klar over at Spare er den enkleste formen for metode; det krever ikke noen detaljerte instruksjoner fra deg. Du instruere et Dokument objekt for å Lagre og at det ikke krever noen flere innspill fra deg.
Hvis en metode som krever mer informasjon, disse detaljene er kalt parametere. Den følgende koden kjøres SaveAs-metoden, som krever et nytt navn for filen.,
Application.ActiveDocument.SaveAs ("New Document Name.docx")
Verdiene i parentes etter en metode navn er parameterne. Her er det nye navnet på filen er en parameter for SaveAs metode.
Egenskaper
Du bruker samme syntaks for å angi en eiendom som du bruker til å lese en eiendom. Følgende kode utfører en metode for å velge celle A1 i Excel og deretter angi en egenskap til å sette noe i denne cellen.
Application.ActiveSheet.Range("A1").Select Application.Selection.Value = "Hello World"
Den første utfordringen i VBA programmering er å få en følelse for objektmodellen for hvert Office-program, og til å lese objekt, en metode og eiendom syntaks., Objektet modeller er lik i alle Office-programmer, men hver enkelt er spesifikke for den type dokumenter og objekter som det manipulerer.
I den første linjen i koden, er det Programmet objekt, Excel denne gangen, og deretter ActiveSheet, som gir tilgang til det aktive regnearket. Etter det er et begrep som ikke er så kjent, Spekter, som betyr «definere et område med celler på denne måten.»Koden pålegger Utvalget å skape seg selv med bare A1 som definert sett av celler. Med andre ord, den første linjen med kode som definerer et objekt, Utvalget, og kjører en metode mot det for å velge det., Resultatet er lagret automatisk i en annen eiendom Program som heter Valg.
Den andre linjen med kode angir den Verdi eiendommen av Utvalget til teksten «Hello World», og at verdien vises i celle A1.
Den enkleste VBA-kode som du skriver, kan bare få tilgang til objekter i Office-programmet som du arbeider med, og du vil angi egenskaper. Du kan For eksempel få tilgang til rader i en tabell i Word og endre formateringen i VBA-skript.,
Det høres enkelt ut, men det kan være utrolig nyttig; når du kan skrive koden, kan du utnytte all makt om programmering for å gjøre de samme endringene i flere tabeller eller dokumenter, eller gjøre dem i henhold til en viss logikk eller tilstand. For en datamaskin, noe som gjør 1000 endringer er ikke forskjellig fra å gjøre 10, så det er en økonomi av skalaen her med større dokumenter og problemer, og det er der VBA kan virkelig skinne og spare deg for tid.,
Makroer og Visual Basic-redigering
Nå som du vet noe om hvordan Office-programmer avsløre deres objekt modeller, du er sikkert ivrig etter å prøve å ringe objekt metoder, sette objektet egenskaper, og svarer til objektet hendelser. For å gjøre dette, må du skrive inn koden i et sted og på en måte som Office kan forstå, vanligvis ved hjelp av Visual Basic Editor. Selv om det er installert som standard, mange brukere ikke vet, er at det er enda tilgjengelig før den er aktivert på båndet.
Alle Office-programmer bruke båndet., Den ene kategorien på båndet er kategorien Utvikler, hvor du har tilgang til Visual Basic Editor og andre verktøy for utviklere. Fordi Office ikke vise kategorien Utvikler som standard, må du aktivere det ved å bruke følgende fremgangsmåte:
for Å aktivere kategorien Utvikler
-
kategorien Fil, velger du Valg for å åpne dialogboksen Alternativer.
-
Velg Tilpass Bånd på venstre side av dialogboksen.
-
Under Velg kommandoer fra på venstre side av dialogboksen, velg Populære Kommandoer.,
-
Under Tilpasse Båndet på høyre side av dialogboksen, velg hovedkategoriene i rullegardinlisten i boksen, og velg deretter Utvikler avmerkingsboksen.
-
Velg OK.
Merk
I Office 2007, vises kategorien Utvikler ved å velge Office-knappen, velger du Valg, og deretter velge den Vis kategorien Utvikler på Båndet avmerkingsboksen i den Populære kategorien i Alternativer-dialogboksen.
Etter at du har aktivert kategorien Utvikler, er det lett å finne Visual Basic og Makroer knapper.
Figur 1., Knappene i kategorien Utvikler
sikkerhetsspørsmål
for Å beskytte Office-brukere mot virus og farlige makro-koden, kan du ikke lagre makro-kode i en standard Office-dokument som bruker en standard file extension. I stedet, må du lagre koden i en fil med en spesiell extension. For eksempel kan du lagre makroer i et vanlig Word-dokument med en .filtypen docx; i stedet, du må bruke en spesiell Word-Makro-Aktivert Dokument med en .docm extension.
Når du åpner en .,docm fil, Office sikkerhet kan fortsatt hindre makroer i dokumentet fra å kjøre, med eller uten å fortelle deg. Undersøk innstillingene og alternativene i klareringssenter på alle Office-programmer. Standard innstillingen deaktiverer makro kjører, men advarer deg om at makroer har blitt deaktivert, og gir deg muligheten til å skru dem på igjen for at dokumentet.
Du kan angi bestemte mapper hvor makroer kan kjøre ved å opprette Klarerte Plasseringer, Klarerte Dokumenter, eller Klarerte Utgivere., Den mest bærbare alternativ er å bruke Klarerte Utgivere, som arbeider med digitalt signerte dokumenter som du distribuerer. For mer informasjon om sikkerhetsinnstillinger i en bestemt Office-program, åpne Alternativer-dialogboksen, velg klareringssenter, og velg deretter Innstillinger for klareringssenter.
Merk
Noen Office-programmer, for eksempel Outlook, kan du lagre makroer som standard i en overordnet mal på din lokale datamaskin., Selv om en slik strategi reduserer den lokale sikkerhetsproblemer på din egen datamaskin når du kjører dine egne makroer, det krever en distribusjon strategi hvis du vil distribuere makro.
inn en makro
Når du velger Makro-knappen i kategorien Utvikler, åpnes dialogboksen Makroer, som gir deg tilgang til VBA-subrutiner eller makroer som du kan få tilgang fra en bestemt dokument eller program. Visual Basic-knappen åpner Visual Basic Editor, der du kan opprette og redigere VBA-kode.,
en Annen knapp i kategorien Utvikler i Word og Excel er den Posten Makro-knappen, som automatisk genererer VBA-kode som kan reprodusere de handlingene du utfører i programmet. Registrer Makro er et fantastisk verktøy som du kan bruke til å lære mer om VBA. Å lese den genererte koden kan gi deg innsikt i VBA og gi en stabil bro mellom kunnskap av Office som en bruker og din kunnskap som programmerer., Det eneste forbeholdet er at den genererte koden kan være forvirrende fordi Makro editor må gjøre noen forutsetninger om dine intensjoner, og de forutsetninger er ikke nødvendigvis korrekte.
for Å spille inn en makro
-
Åpne Excel-til en ny Arbeidsbok, og velg kategorien Utvikler på båndet. Velger du spill inn Makro og godtar alle standardinnstillingene i dialogboksen registrer Makro, inkludert Makro1 som navnet på makroen og Denne Arbeidsboken som sted.
-
Velg OK for å begynne innspillingen i makro. Legg merke til hvordan teksten på knappen endres til for å Stoppe Opptaket., Velg den knappen instant du fullføre handlinger som du ønsker å ta opp.
-
Velg celle B1 og skriv inn programmerer klassiske første streng: Hei Verden. Slutte å skrive og se på Stopp Opptak-knapp; den er nedtonet fordi Excel er å vente til du er ferdig med å skrive verdien i cellen.
-
Velg celle B2 til å fullføre handlingen i celle B1, og velg deretter Stoppe Opptaket.
-
Velg Makroer i kategorien Utvikler, velger du Makro1 hvis det ikke er valgt, og deretter velge Rediger for å vise kode fra Makro1 i Visual Basic Editor.,
Figur 2. Makro-kode i Visual Basic-redigering
Se på koden
makroen du opprettet ligne på følgende kode.
Sub Macro1()'' Macro1 Macro'' Range("B1").Select ActiveCell.FormulaR1C1 = "Hello World" Range("B2").SelectEnd Sub
Vær oppmerksom på likheter til den tidligere kodebit som er valgt tekst i celle A1, og forskjellene. I denne koden, celle B1 er valgt, og deretter strengen «Hello World» er brukt til cellen som har blitt gjort aktiv. Anførselstegn rundt teksten angi et string-verdi i motsetning til en numerisk verdi.,
Husk at hvordan du velger celle B2 til å vise Stopp-knappen for Opptak igjen? At handlingen viser opp som en linje med kode for så vel. Den makro opptaker poster hver tastetrykk.
linjene med kode som starter med en apostrof og farget grønn av redaktøren, er kommentarer som forklarer kode eller minne deg selv og andre programmerere formålet med koden. VBA ignorerer linjer, eller del av en linje som begynner med et enkelt tilbud. Å skrive klart og aktuelle kommentarer i koden din er et viktig tema, men den diskusjonen er utenfor omfanget av denne artikkelen., Etterfølgende referanser til denne koden i artikkelen ikke inkluderer de fire kommentar linjer.
Når makro opptaker genererer koden, det bruker en kompleks algoritme for å finne metoder og egenskaper som du hadde tenkt. Hvis du ikke gjenkjenner en egenskap, det er mange ressurser tilgjengelig for å hjelpe deg. For eksempel, i makroen som du lagret, makro opptaker generert kode som refererer til FormulaR1C1 eiendom. Ikke sikker på hva det betyr?
Merk
Vær oppmerksom på at Programmet objekt er underforstått i alle VBA-makroer., Koden som du spilte arbeider med Programmet. på begynnelsen av hver linje.
Bruke Utvikler Hjelp
Velg FormulaR1C1 i den registrerte makroen, og trykk på F1. Hjelp-systemet kjører et raskt søk, bestemmer at den aktuelle fag er i Excel-Utvikler-delen av Excel på Hjelp, og viser FormulaR1C1 eiendom. Du kan velge linken for å lese mer om eiendom, men før du gjør det, må du være oppmerksom på Excel-Objekt-Modell Referanse koblingen nederst i vinduet., Velg koblingen for å vise en lang liste av objekter som Excel bruker i sitt objekt modell for å beskrive Regneark og deres komponenter.
Velg en av de for å se egenskaper og metoder som gjelder for det aktuelle objektet, sammen med kryssreferanser til annen relatert valg. Mange Hjelpe oppføringer også har en kort kode eksempler som kan hjelpe deg. For eksempel, du kan følge linkene i Grenser objekt for å se hvordan du kan angi en grense i VBA.
Worksheets(1).Range("A1").Borders.LineStyle = xlDouble
Redigere koden
Grensene koden ser annerledes ut fra den registrerte makroen., En ting som kan være forvirrende med et objekt-modellen er at det er mer enn én måte å løse et gitt objekt, celle A1 i dette eksemplet.
noen Ganger er den beste måten å lære programmering er å gjøre mindre endringer i enkelte arbeider koden og se hva som skjer som et resultat. Prøv det nå. Åpne Makro1 i Visual Basic-redigering og endre koden til følgende.
Sub Macro1() Worksheets(1).Range("A1").Value = "Wow!" Worksheets(1).Range("A1").Borders.LineStyle = xlDoubleEnd Sub
Tips
Bruk Kopier og Lim inn så mye som mulig når du arbeider med kode for å unngå skrivefeil.,
Du trenger ikke å lagre koden for å prøve det ut, så gå tilbake til Excel-dokument, velger du Makroer i kategorien Utvikler, velge Makro1, og velg deretter Kjør. Celle A1 nå inneholder teksten Wow! og har en dobbel-linje ramme rundt det.
Figur 3. Resultatene av ditt første makro
Du bare kombinert makro-opptak, lese object model dokumentasjon, og enkel programmering for å lage en VBA-program som gjør noe. Gratulerer!
ikke fungerer? Les videre for debugging forslag i VBA.,
Programmering tips og triks
Start med eksempler
VBA-samfunnet er svært stor; et søk på Nett kan nesten alltid gi et eksempel på VBA-kode som gjør noe lignende til hva du ønsker å gjøre. Hvis du ikke finner et godt eksempel, prøver å bryte oppgaven ned i mindre enheter og søk på hver av dem, eller prøve å tenke på en mer vanlig, men lignende problem. Starter med et eksempel kan spare deg timer av gangen.
det betyr ikke At gratis og godt tenkt ut kode er på Nettet venter på deg til å komme sammen., Faktisk, noen av koden som du finner kan ha feil eller feil. Ideen er at eksemplene du finner på nettet eller i VBA dokumentasjon gi deg et forsprang. Husk at det å lære programmering krever tid og tanke. Før du får i en stor rush for å bruke en annen løsning for å løse problemet ditt, spør deg selv om VBA er det riktige valget for dette problemet.
Få en enklere problem
Programmering kan få komplekse raskt. Det er kritisk, spesielt som nybegynner, kan du bryte det problemet ned til den minste mulige logiske enheter, og deretter skrive og teste hver del isolert., Hvis du har for mye kode foran deg, og du blir forvirret eller rotete, stoppe og sette problemet til side. Når du kommer tilbake til problemet, kan du kopiere ut en liten del av problemet inn i en ny modul, løse det stykket, få koden fungerer, og teste den for å sikre at det fungerer. Deretter går du videre til neste del.
Feil og feilsøking
Det er to hovedtyper av programmeringsfeil: syntaks feil, som bryter med de grammatiske reglene i programmeringsspråket, og run-time feil, som ser syntaktisk korrekt, men mislykkes når VBA forsøk på å kjøre koden.,
Selv om det kan være frustrerende å fikse, syntaks feil er lett å fange; Visual Basic Editor piper og blinker på deg hvis du skriver inn en syntaksfeil i koden.
For eksempel, string-verdier må være omgitt av doble anførselstegn i VBA. For å finne ut hva som skjer når du bruker enkle anførselstegn i stedet, gå tilbake til Visual Basic Editor og erstatte den «Wow!»streng i kode-eksempel med» Wow!'(som er ordet Wow stå i enkle anførselstegn). Hvis du velger neste linje, Visual Basic Editor reagerer., Feilmeldingen «kompileringsfeil: Forventet: expression» er ikke så nyttig, men linjen som genererer feil blir rød for å fortelle deg at du har en syntaks feil i denne linjen, og som et resultat, dette programmet vil ikke kjøre.
Velg OK og endre tekst tilbake til»Wow!».
Runtime feil er vanskeligere å fange fordi programmering syntaks ser riktig, men koden mislykkes når VBA prøver å kjøre det.,
For eksempel, åpne Visual Basic Editor og endre Verdien eiendom navn til ValueX i Makroen, bevisst å innføre en runtime feil siden Range-objektet ikke har en eiendom kalt ValueX. Gå tilbake til Excel-dokument, kan du åpne dialogboksen Makroer og kjøre Makro1 igjen. Du bør se en Visual Basic-meldingsboks som forklarer run-time error med teksten, «Objektet støtter ikke denne egenskapen av metode.»Selv om denne teksten er klar, velger du Feilsøke for å finne ut mer.,
Når du vil gå tilbake til Visual Basic Editor, den er i en spesiell debug-modus som bruker et gult merke for å vise linjen med kode som mislyktes. Som forventet, den linjen som inneholder den ValueX eiendommen er uthevet.
Du kan gjøre endringer til VBA-kode som kjører, så endre ValueX tilbake til Verdi og velger den lille grønne play-knappen under Debug-menyen. Programmet skal kjøre som normalt igjen.
Det er en god idé å lære hvordan du bruker feilsøkingsprogrammet mer bevisst for lengre, mer komplekse programmer., På et minimum, lære hvordan du setter pause-poeng for å stoppe kjøring ved et punkt hvor du ønsker å ta en titt på koden, hvordan å legge klokker til å se verdiene av ulike variabler og egenskaper som koden kjøres, og hvordan vi skal gå gjennom koden linje for linje. Disse alternativene er tilgjengelige i Debug-menyen og alvorlige debugger brukere vanligvis huske den medfølgende tastatur snarveier.,
Bruk av referansemateriale godt
for Å åpne Utvikler Referanse som er bygget inn i Hjelp for Office, åpner du Hjelp referanse fra et hvilket som helst Office-program ved å velge spørsmålstegn i båndet, eller ved å trykke F1. Så, til høyre for Søk-knappen, velg dropdown-pilen til å filtrere innholdet. Velg Utvikler Referanse. Hvis du ikke ser i innholdsfortegnelsen i venstre panel, velg en liten bok-ikonet for å åpne det, og deretter utvide Object Model Referanse fra det.
Figur 5., Filtrering på utvikleren Hjelpe gjelder for alle Office-programmer
Tid brukt på lesing objektmodellen referanse lønner seg. Etter at du forstår det grunnleggende av VBA-syntaks og objekt modell for Office-programmet som du arbeider med, vil du avansere fra gjetting til metodisk programmering.
selvfølgelig Microsoft Office Developer Center er et utmerket portal for artikler, tips og informasjon samfunnet.,
Søk fora og grupper
Alle programmerere få fast noen ganger, selv etter å ha lest hver referanse artikkelen de kan finne og miste søvn på natten tenker om ulike måter å løse et problem. Heldigvis, Internett har gitt grobunn for et fellesskap av utviklere som hjelper hverandre med å løse programmering problemer.
Noen søk på Nettet for «office developer forum» avslører flere diskusjonsgrupper. Du kan søke på «kontoret utvikling» eller en beskrivelse av problemet, for å oppdage forum, blogg innlegg og artikler som godt.,
Hvis du har gjort alt du kan for å løse et problem, må du ikke være redd for å legge ut spørsmålet ditt til en utviklere forum. Disse fora velkommen innlegg fra nyere programmerere og mange av de erfarne utviklere er glade for å hjelpe.
følgende er noen punkter av etikette å følge når du poster en utvikler forumet:
-
Før du legger ut, se på siden for vanlige spørsmål eller for retningslinjer som medlemmer ønsker du å følge. Sørg for at du kan legge ut innhold som er i samsvar med de retningslinjer og i den riktige delen av forumet.,
-
Ta en klar og fullstendig kode eksempel, og vurdere å redigere koden for å avklare det til andre hvis det er en del av en lengre del av koden.
-
Beskriv ditt problem klart og konsist, og oppsummere alle trinnene som du har tatt for å løse problemet. Ta deg tid til å skrive innlegget ditt så godt du kan, spesielt hvis du er engasjert eller i en hast. Nåværende situasjonen på en måte som vil gi mening til lesere første gang de leser problemet uttalelse.
-
Vær høflig og uttrykke din takknemlighet.,
Gå videre med programmering
Selv om denne artikkelen er kort og bare skraper overflaten av VBA og programmering, det er forhåpentligvis nok til å få deg i gang.
Denne seksjonen gir en kort drøfter noen flere viktige emner.
Variabler
I de enkle eksemplene i denne artikkelen du manipulert objekter som programmet allerede hadde laget. Du ønsker kanskje å lage dine egne objekter for å lagre verdier eller referanser til andre objekter for midlertidig bruk i din søknad. Disse kalles variabler.,
for Å bruke en variabel i VBA, må fortelle VBA hvilken type objekt variabelen representerer ved hjelp av Dim-setningen. Du kan deretter angi verdien og bruker den til å sette andre variabler eller egenskaper.
Dim MyStringVariable As String MyStringVariable = "Wow!" Worksheets(1).Range("A1").Value = MyStringVariable
Forgrening og bue
Den enkle programmer i denne artikkelen utføre en linje av gangen, fra toppen og ned. Den reelle makten i programmering kommer fra alternativene du har for å finne ut hvilke linjer med kode for å utføre, basert på ett eller flere forhold som du angir. Du kan utvide de evner ytterligere når du kan gjenta en operasjon mange ganger., For eksempel, følgende kode strekker seg Makro1.
Skriv inn eller lim inn koden i Visual Basic Editor og deretter kjøre den. Følg instruksjonene i meldingen boksen som vises, og endre tekst i celle A1 fra Wow! å Ja! og kjøre den på nytt for å se kraften av løkker. Dette kodebit viser variabler, forgrening og bue. Les den nøye etter kan du se den i aksjon, og prøve å finne ut hva som skjer hver linje utfører.
Alle mine Office-programmer: eksempel kode
Her er noen skript til å prøve; hver løser en real-world Kontor problem.,
Skriv en e-post i Outlook
Sub MakeMessage() Dim OutlookMessage As Outlook.MailItem Set OutlookMessage = Application.CreateItem(olMailItem) OutlookMessage.Subject = "Hello World!" OutlookMessage.Display Set OutlookMessage = NothingEnd Sub
Vær oppmerksom på at det er situasjoner der du kanskje ønsker å automatisere e-post i Outlook, kan du bruke maler som godt.
Slett tomme rader i et Excel-regneark
Vær oppmerksom på at du kan velge en kolonne med celler og kjøre denne makroen for å slette alle radene i den valgte kolonnen som har en tom celle.
Slett tomme tekstbokser i PowerPoint
Sub RemoveEmptyTextBoxes() Dim SlideObj As Slide Dim ShapeObj As Shape Dim ShapeIndex As Integer For Each SlideObj In ActivePresentation.Slides For ShapeIndex = SlideObj.Shapes.Count To 1 Step -1 Set ShapeObj = SlideObj.Shapes(ShapeIndex) If ShapeObj.Type = msoTextBox Then If Trim(ShapeObj.TextFrame.TextRange.Text) = "" Then ShapeObj.Delete End If End If Next ShapeIndex Next SlideObjEnd Sub
Vær oppmerksom på at denne koden looper gjennom alle sider, og sletter all tekst bokser som ikke har noen tekst., Tellingen variabel reduserer i stedet for trinn, fordi hver gang koden sletter et objekt, det fjerner objektet fra samlingen, som reduserer teller.
Kopier en kontakt fra Outlook til Word
Sub CopyCurrentContact() Dim OutlookObj As Object Dim InspectorObj As Object Dim ItemObj As Object Set OutlookObj = CreateObject("Outlook.Application") Set InspectorObj = OutlookObj.ActiveInspector Set ItemObj = InspectorObj.CurrentItem Application.ActiveDocument.Range.InsertAfter (ItemObj.FullName & " from " & ItemObj.CompanyName)End Sub
Vær oppmerksom på at denne koden kopier den åpne kontakter i Outlook til å åpne Word-dokumentet. Denne koden fungerer bare hvis det er en kontakt åpne for inspeksjon i Outlook.
Støtte og tilbakemelding
Har du spørsmål eller tilbakemeldinger om Office VBA eller denne dokumentasjonen?, Vennligst se Office VBA støtte og tilbakemelding for veiledning om hvordan du kan motta støtte, og gi tilbakemelding.