Welcome to Our Website

käytön aloittaminen Office VBA

  • 08/14/2019
  • 25 minuutin lukea
    • o
    • R
    • L
    • m
    • O
    • +4

oletko edessään toistuvia siivota viisikymmentä taulukoita Word? Haluatko tietyn asiakirjan, joka kehottaa käyttäjää syöttämään sen avatessa?, Onko sinulla vaikeuksia selvittää, miten saada yhteystietosi Microsoft Outlook osaksi Microsoft Excel taulukkolaskenta tehokkaasti?

Voit suorittaa nämä tehtävät ja saavuttaa paljon enemmän käyttämällä Visual Basic for Applications (VBA) – Toimisto—yksinkertainen, mutta tehokas ohjelmointikieli, jonka avulla voit laajentaa Office-sovellukset.

Tämä artikkeli on tarkoitettu kokeneille Office-käyttäjien, jotka haluavat oppia VBA ja, jotka haluavat tietoa siitä, miten ohjelmointi voi auttaa heitä muokata Office.

Toimistosviitissä on runsaasti ominaisuuksia., On olemassa monia erilaisia tapoja kirjoittaa, formaatti, ja manipuloida asiakirjoja, sähköposti, tietokannat, lomakkeet, taulukkolaskenta, ja esitykset. Suuri voima VBA-ohjelmointi Office on, että lähes kaikki toiminnot, jotka voit suorittaa hiirellä, näppäimistöllä tai-valintaikkunassa voidaan tehdä myös käyttämällä VBA. Edelleen, jos se voidaan tehdä kerran VBA, se voidaan tehdä yhtä helposti sata kertaa. (Itse asiassa toistuvien tehtävien automatisointi on yksi VBA: n yleisimmistä käyttökohteista Toimistossa.,)

Yli voima VBA scripting nopeuttaa jokapäiväisiä tehtäviä, voit käyttää VBA lisätä uusia toimintoja Office-sovellukset tai nopea ja vuorovaikutuksessa käyttäjän asiakirjat tavoilla, jotka ovat ominaisia yrityksesi tarpeisiin. Voit esimerkiksi kirjoittaa jonkin VBA-koodin, joka näyttää ponnahdusviestin, joka muistuttaa käyttäjiä tallentamaan asiakirjan tietylle verkkoasemalle ensimmäisellä kerralla, kun he yrittävät tallentaa sen.

tässä artikkelissa tarkastellaan joitakin ensisijaisia syitä hyödyntää VBA-ohjelmoinnin valtaa., Siinä tutkitaan VBA-kieltä ja out-of-the-box-työkaluja, joilla voit työskennellä ratkaisujesi kanssa. Lopuksi se sisältää joitakin vinkkejä ja tapoja välttää joitakin yhteisiä ohjelmointi turhautumisia ja harha-askeleita.

Note

kiinnostunut kehittämään ratkaisuja, jotka laajentavat Toimistokokemusta useille alustoille? Tutustu uuteen Office-lisäosien malliin. Office Add-ins on pieni jalanjälki verrattuna VSTO Add-ins ja ratkaisut, ja voit rakentaa niitä käyttämällä lähes minkä tahansa web-ohjelmointi tekniikkaa, kuten HTML5, JavaScript, CSS3, ja XML.,

milloin VBA: ta käytetään ja miksi

on useita pääsyitä harkita VBA-ohjelmointia virassa.

Automaatio ja toistoa

VBA on tehokas ja tehokas, kun se tulee toistuvia ratkaisuja, muotoilua tai korjaus-ongelmia. Oletko esimerkiksi koskaan muuttanut kappaleen tyyliä jokaisen sivun yläosassa Wordissa? Oletko koskaan ollut uudistaa useita taulukoita, jotka oli liitetty Excel Word-asiakirjaan tai Outlook-sähköpostiin? Oletko koskaan ollut tehdä saman muutoksen useita Outlook yhteystiedot?,

Jos tulee muutos, joka pitää tehdä yli kymmenen tai kaksikymmentä kertaa, se kannattaa ehkä automatisoida VBA: lla. Jos se on muutos, että sinun täytyy tehdä satoja kertoja, se on varmasti harkitsemisen arvoinen. Lähes kaikki muotoilu tai muokkaus muutos, että voit tehdä käsin, voidaan tehdä VBA.

Laajennukset käyttäjän vuorovaikutusta

On aikoja, kun haluat kannustaa tai pakottaa käyttäjät voivat vuorovaikutuksessa Office-sovelluksen tai asiakirjan tietyllä tavalla, joka ei ole osa standardin sovellus., Saatat esimerkiksi haluta kehottaa käyttäjiä ryhtymään joihinkin erityistoimiin, kun he avaavat, tallentavat tai tulostavat asiakirjan.

toimistosovellusten vuorovaikutus

pitääkö sinun kopioida kaikki yhteystietosi Outlookista sanaan ja muotoilla ne sitten jollain erityisellä tavalla? Tai, sinun täytyy siirtää tietoja Excel-joukko PowerPoint-dioja? Joskus yksinkertainen kopio ja liitä ei tee mitä haluat sen tekevän, tai se on liian hidas., Voit käyttää VBA-ohjelmointia vuorovaikutuksessa kahden tai useamman toimistosovelluksen kanssa samanaikaisesti ja muokata sisältöä yhdessä sovelluksessa toisen sisällön perusteella.

Tehdä asioita toisella tavalla

VBA-ohjelmointi on tehokas ratkaisu, mutta se ei ole aina optimaalinen lähestymistavan. Joskus on järkevää käyttää muita keinoja tavoitteiden saavuttamiseksi.

kriittinen kysymys on, onko helpompi tapa. Ennen kuin aloitat VBA-projektin, harkitse sisäänrakennettuja työkaluja ja vakiotoimintoja., Jos sinulla on esimerkiksi aikaa vievä muokkaus-tai asettelutehtävä, harkitse tyylien tai kiihdyttimen avainten käyttöä ongelman ratkaisemiseksi. Voitko suorittaa tehtävän kerran ja sitten käyttää CTRL+Y (Redo) toistaa sen? Voitko luoda uuden asiakirjan, jossa on oikea muoto tai malli, ja sitten kopioida sisällön uuteen asiakirjaan?

Toimistohakemukset ovat tehokkaita; tarvitsemasi ratkaisu voi olla jo olemassa. Ota aikaa oppia lisää toimistosta ennen kuin hyppäät ohjelmointiin.

Ennen kuin aloitat VBA-projektin, varmista, että sinulla on aikaa työskennellä VBA., Ohjelmointi vaatii keskittymistä ja voi olla arvaamatonta. Varsinkin aloittelijana, älä koskaan käänny ohjelmointiin, ellei sinulla ole aikaa työskennellä huolellisesti. Yrittää kirjoittaa ”nopea käsikirjoitus” ongelman ratkaisemiseksi, kun määräaika häämöttää voi johtaa erittäin stressaavaan tilanteeseen. Jos on kiire, kannattaa käyttää tavanomaisia menetelmiä, vaikka ne olisivat yksitoikkoisia ja toistuvia.

VBA-Ohjelmointi 101

Käyttämällä koodia tehdä sovelluksia, tehdä asioita

saatat ajatella, että kirjoittaminen koodi on salaperäinen tai vaikeaa, mutta perusperiaatteet käyttää joka päivä päättelyä ja ovat melko helposti., Microsoft Office-sovellukset on luotu siten, että ne paljastaa asioita, joita kutsutaan esineitä, jotka voivat saada ohjeita, paljon samalla tavalla, että puhelin on suunniteltu painikkeita, jotka voit käyttää vuorovaikutuksessa puhelimen. Kun painat nappia, puhelin tunnistaa ohjeen ja sisältää vastaavan numeron siinä järjestyksessä, johon soitat. Ohjelmoinnissa olet vuorovaikutuksessa sovelluksen kanssa lähettämällä ohjeita sovelluksen eri kohteille. Nämä esineet ovat ekspansiivisia, mutta niillä on rajansa., He voivat tehdä vain sen, mihin heidät on suunniteltu, ja he tekevät vain sen, mitä sinä neuvot heitä tekemään.

esimerkiksi huomioi käyttäjä, joka avaa dokumentin Wordissa, tekee muutamia muutoksia, tallentaa dokumentin ja sulkee sen sitten. VBA-ohjelmoinnin maailmassa sana paljastaa Dokumenttiobjektin. VBA-koodin avulla voit ohjeistaa Dokumenttiobjektia tekemään asioita, kuten avaamaan, tallentamaan tai sulkemaan.

seuraavassa jaksossa käsitellään sitä, miten esineet organisoidaan ja kuvataan.,

objektimalli

Kehittäjät järjestävät ohjelmointiesineitä hierarkiassa, ja tätä hierarkiaa kutsutaan sovelluksen objektimalliksi. Wordissa on esimerkiksi ylätason Sovellusobjekti, joka sisältää Dokumenttiobjektin. Dokumenttiobjekti sisältää Kappaleobjekteja ja niin edelleen. Objektimallit karkeasti peilaavat sitä, mitä näet käyttöliittymässä. Ne ovat käsitteellinen kartta sovelluksesta ja sen kyvyistä.

objektin määritelmää kutsutaan luokaksi, joten saatat nähdä nämä kaksi termiä, joita käytetään vaihdellen., Teknisesti luokka on kuvaus tai malli, jota käytetään objektin luomiseen tai asentamiseen.

kun objekti on olemassa, voit manipuloida sitä asettamalla sen ominaisuudet ja kutsumalla sen menetelmiä. Jos ajatellaan objektia substantiivina, ominaisuudet ovat substantiivia kuvaavat adjektiivit ja menetelmät ovat substantiivia animoivia verbejä. Kiinteistön muuttaminen muuttaa jonkin verran esineen ulkonäköä tai käyttäytymistä. Jommankumman oliomenetelmän kutsuminen saa kohteen suorittamaan jonkin verran toimintaa.,

VBA-koodi tässä artikkelissa juoksee vastaan avaa Office-sovellus, jossa monia esineitä, että koodi manipuloi ovat jo käynnissä, esimerkiksi, Sovellus itse, Laskentataulukko Excel-Asiakirjan Word -, Esittely PowerPoint, Explorer ja Kansion kohteet Outlook. Kun tiedät perus ulkoasu objekti malli ja joitakin keskeisiä ominaisuuksia Sovellus, joka antaa pääsyn sen nykyisessä tilassa, voit alkaa laajentaa ja muokata, että Office-sovelluksen kanssa VBA-Toimistossa.,

Menetelmiä

Word, esimerkiksi, voit muuttaa ominaisuuksia ja vedota menetelmiä nykyisen Word-asiakirjaan käyttämällä ActiveDocument omaisuutta Sovellus-objekti. Tämä ActiveDocument-ominaisuus palauttaa viittauksen Asiakirjaobjektiin, joka on tällä hetkellä aktiivinen Word-sovelluksessa. ”Palauttaa viittauksen” tarkoittaa ” antaa sinulle pääsyn.”

seuraava koodi tekee juuri niin kuin se sanoo; eli se tallentaa hakemuksen aktiivisen asiakirjan.,

Application.ActiveDocument.Save

Lue koodi vasemmalta oikealle, ”tässä sovelluksessa, jolla Dokumentti viittaa ActiveDocument, vedota Tallenna menetelmä.”Ole tietoinen siitä, että Save on yksinkertaisin menetelmä, se ei vaadi mitään yksityiskohtaisia ohjeita sinulta. Ohjeistat Dokumenttiobjektin tallentamaan, eikä se vaadi sinulta enempää syötettä.

Jos menetelmä vaatii lisätietoja, näitä yksityiskohtia kutsutaan parametreiksi. Seuraava koodi käyttää SaveAs-menetelmää, joka vaatii tiedostolle uuden nimen.,

Application.ActiveDocument.SaveAs ("New Document Name.docx")

sulkeissa menetelmän nimen jälkeen luetellut arvot ovat parametrit. Tässä tiedoston uusi nimi on SaveAs-menetelmän parametri.

ominaisuudet

käytät samaa syntaksia määrittääksesi ominaisuuden, jota käytät kiinteistön lukemiseen. Seuraava koodi suorittaa menetelmän valita solu A1 Excel ja sitten asettaa ominaisuus laittaa jotain siihen soluun.

 Application.ActiveSheet.Range("A1").Select Application.Selection.Value = "Hello World"

ensimmäinen haaste VBA-ohjelmointi on saada tunne object model kunkin Office-sovellus ja lukea objekti, menetelmä, ja omaisuuden syntaksi., Objektimallit ovat samanlaisia kaikissa toimistosovelluksissa, mutta jokainen on tarkka siitä, millaisia asiakirjoja ja esineitä se manipuloi.

ensimmäisellä rivillä koodin pätkä, siellä on Sovellus, esine -, Excel-tällä kertaa, ja sitten ActiveSheet, joka tarjoaa pääsyn aktiivisen laskentataulukon. Sen jälkeen on termi ei yhtä tuttu, alue, mikä tarkoittaa ”määritellä erilaisia soluja tällä tavalla.”Koodi ohjeistaa Range luoda itsensä vain A1 sen määritelty joukko soluja. Toisin sanoen koodin ensimmäinen rivi määrittelee objektin, alueen, ja käyttää sitä vastaan menetelmää sen valitsemiseksi., Tulos tallennetaan automaattisesti sovelluksen toiseen ominaisuuteen nimeltä valinta.

koodin toinen rivi määrittää valinnan arvo-ominaisuuden tekstille ”Hello World”, ja kyseinen arvo esiintyy solussa A1.

yksinkertaisin VBA-koodi, joka kirjoittaa voi yksinkertaisesti saada esineitä Office-sovellus, joka olet työskennellyt ja asettaa ominaisuudet. Voit esimerkiksi päästä käsiksi taulukon riveihin Wordissa ja muuttaa niiden muotoilua VBA-skriptissäsi.,

Se kuulostaa yksinkertaiselta, mutta se voi olla uskomattoman hyödyllinen, kun voit kirjoittaa sen koodin, voit valjastaa kaikki valta ohjelmointi tehdä samat muutokset useita taulukoita tai dokumentteja, tai tehdä niistä mukaan joitakin logiikkaa tai kunto. Tietokoneen, joten 1000 muutoksia ei poikkea tekee 10, niin on olemassa mittakaavaetuja täällä suurempia asiakirjoja, ja ongelmia, ja että on, jos VBA voi todella loistaa ja säästää aikaa.,

Makrojen ja Visual Basic-Editori

Nyt kun tiedät jotain siitä, miten Office-sovellukset altistavat esine malleja, olet todennäköisesti innokas kokeilemaan soittamalla esine menetelmiä, jossa kohteen ominaisuudet, ja vastaa kohteen tapahtumia. Voit tehdä niin, sinun täytyy kirjoittaa koodin paikassa ja siten, että Toimisto voi ymmärtää, tyypillisesti käyttämällä Visual Basic editor. Vaikka se on asennettu oletuksena, monet käyttäjät eivät tiedä, että se on vielä käytettävissä, kunnes se on käytössä nauha.

kaikki toimistosovellukset käyttävät nauhaa., Yksi nauha-välilehti on kehittäjä-välilehti, jossa käytät Visual Basic Editoria ja muita kehittäjän työkaluja. Koska Toimisto ei näytä Developer-välilehti oletuksena, se on otettava käyttöön seuraavien ohjeiden avulla:

mahdollistaa Kehittäjä-välilehti

  1. valitse Tiedosto-välilehti, valitse Valinnat voit avata Asetukset-valintaikkunan.

  2. valitse Muokkaa nauhaa valintaikkunan vasemmalla puolella.

  3. valitse komentoja valintaikkunan vasemmalta puolelta, Valitse Suositut komennot.,

  4. muokkaa valintaikkunan oikealla puolella olevaa nauhaa, valitse pudotusvalikosta tärkeimmät välilehdet ja valitse sitten kehittäjän valintaruutu.

  5. Valitse OK.

Huom.

Office 2007: n Kehittäjä-välilehti näkyviin valitsemalla Office-painiketta, valitsemalla Asetukset ja valitsemalla sitten Näytä kehitystyökalut-välilehti Valintanauhassa-valintaruutu Suosittu luokka Asetukset-valintaikkunassa.

Kun olet ottanut Developer-välilehden käyttöön, on helppo löytää Visual Basic-ja Macros-painikkeet.

kuva 1., Painikkeet Kehittäjä-välilehti

Turvallisuus asiat

suojella Office käyttäjiä viruksilta ja vaarallinen makro-koodin, et voi tallentaa makron koodi standardi Office-asiakirjan, joka käyttää vakio-tiedostotunnistetta. Sen sijaan, sinun täytyy tallentaa koodi tiedostoon, jossa on erityinen laajennus. Esimerkiksi makroja ei voi tallentaa Vakiosanakirjaan, jossa on a .docx laajennus; sen sijaan, sinun täytyy käyttää erityistä sanaa makro-käytössä asiakirja a .docm-laajennus.

kun avaat A: n .,docm-tiedosto, Office security voi silti estää makrot asiakirjan käynnissä, kanssa tai kertomatta. Tutki luottamuskeskuksen asetukset ja vaihtoehdot kaikissa toimistosovelluksissa. Oletusasetus poistaa makro käynnissä, mutta varoittaa, että makrot on poistettu käytöstä ja antaa sinulle mahdollisuuden kääntää ne takaisin päälle, että asiakirjan.

voit nimetä tiettyjä kansioita, joissa makrot voivat toimia luomalla luotettuja sijainteja, luotettuja asiakirjoja tai luotettuja julkaisijoita., Kannettavin vaihtoehto on käyttää luotettuja julkaisijoita, jotka toimivat jakamiesi digitaalisesti allekirjoitettujen asiakirjojen kanssa. Lisätietoja tietoturva-asetuksia, erityisesti Office-sovellus, avaa Asetukset-valintaikkunan, valitse valvontakeskus ja valitse sitten valvontakeskuksen Asetukset.

Note

jotkut toimistosovellukset, kuten Outlook, tallentavat makrot oletuksena paikallisen tietokoneen master-malliin., Vaikka tämä strategia vähentää paikallisen turvallisuuden kysymyksiä oman tietokoneen, kun olet ajaa omia makroja, se vaatii käyttöönoton strategiaa, jos haluat jakaa makron.

Tallennus makro

Kun valitset Makro-painiketta, valitse kehitystyökalut-välilehti, se avaa Makrot-valintaikkunan, jonka avulla voit käyttää VBA-aliohjelmia tai makroja, joita voi käyttää tietyn asiakirjan tai sovelluksen. Visual Basic-painike avaa Visual Basic editorin, jossa luot ja muokkaat VBA-koodia.,

toinen painike Kehittäjä-välilehdessä Wordissa ja Excelissä on Record Macro-painike, joka luo automaattisesti VBA-koodin, joka voi toistaa sovelluksen toiminnot. Record Macro on loistava työkalu, jonka avulla voit oppia lisää VBA. Käsittelyssä tuotettu koodi voi antaa sinulle käsityksen siitä, VBA ja tarjota vakaa silta tietosi Office-käyttäjänä, ja tietosi ohjelmoijana., Ainoa ehto on, että tuotettu koodi voi olla hämmentävää, koska Makro editori täytyy tehdä joitakin oletuksia siitä, aikomuksia, ja nämä oletukset eivät välttämättä ole tarkkoja.

tallenna makro

  1. Avaa Excel uuteen Työkirja ja valitse Kehittäjä-välilehti nauha. Valitse Record Macro ja hyväksy kaikki Record Macro-valintaikkunan oletusasetukset, mukaan lukien Macro1 makron nimenä ja tämä työkirja sijaintina.

  2. valitse OK aloittaaksesi makron äänittämisen. Huomaa, miten painikkeen teksti muuttuu tallennuksen lopettamiseksi., Valitse tämä painike heti, kun suoritat toimet, jotka haluat tallentaa.

  3. valitse solu B1 ja kirjoita ohjelmoijan klassinen ykkösketju: Hello World. Lopeta kirjoittaminen ja katso Stop Recording-painiketta; se harmaantuu, koska Excel odottaa sinua loppuun kirjoittamalla arvo solussa.

  4. Valitse solu B2 täydellinen toiminta solussa B1, ja valitse sitten Lopeta Äänitys.

  5. Valitse Makrot-Kehittäjä-välilehti, valitse Macro1 jos se ei ole valittuna, ja valitse sitten Muokkaa-voit tarkastella koodin Macro1 Visual Basic editor.,

Kuva 2. Makron koodi Visual Basic-Editori

Katsot koodi

makro, joka on luotu pitäisi näyttää seuraavankaltaiselta koodi.

Sub Macro1()'' Macro1 Macro'' Range("B1").Select ActiveCell.FormulaR1C1 = "Hello World" Range("B2").SelectEnd Sub

Ole tietoinen yhtäläisyyksiä aiemmin koodinpätkä, että valittu teksti soluun A1 ja eroja. Tässä koodissa valitaan solu B1, ja sitten käytetään merkkijonoa ”Hello World”, joka on tehty aktiiviseksi. Tekstin ympärillä olevat lainaukset määrittelevät merkkijonon arvon numeerisen arvon sijaan.,

Muistatko, miten valitsit cell B2: n näyttämään Stop Recording-painiketta uudelleen? Tuo toiminta näkyy myös koodilinjana. Makronauhuri tallentaa jokaisen näppäimen.

linjat koodia, joka alkaa heittomerkillä ja värillinen vihreä toimittaja ovat kommentteja, jotka selittävät koodi tai muistuttaa sinua ja muita ohjelmoijia varten koodi. VBA ei piittaa mistään rivistä tai sen osasta, joka alkaa yhdellä lainauksella. Selkeiden ja asianmukaisten kommenttien kirjoittaminen koodeihisi on tärkeä aihe, mutta tämä keskustelu ei kuulu tämän artiklan soveltamisalaan., Artiklan myöhemmät viittaukset tähän koodiin eivät sisällä näitä neljää huomautuslinjaa.

Kun macro recorder luo koodin, se käyttää monimutkaista algoritmia määrittää, menetelmät, ja ominaisuuksia, että olet tarkoitettu. Jos et tunnista tiettyä omaisuutta, on olemassa monia resursseja auttaa sinua. Esimerkiksi makro on tallennettu, makro-tallennin tuotettu koodi, joka viittaa FormulaR1C1 omaisuutta. Etkö tiedä, mitä se tarkoittaa?

huomaa

huomaa, että Sovellusobjekti on implisiittinen kaikissa VBA-makroissa., Kirjaamasi koodi toimii sovelluksen kanssa. jokaisen rivin alussa.

Käyttäen Kehittäjä Auttaa

Valitse FormulaR1C1 tallennetun makron ja painamalla F1. Apua järjestelmä toimii nopeasti etsiä, määrittää, että sopivia aiheita ovat Excel-Kehittäjä osiossa Excel-Apua, ja luetellaan FormulaR1C1 omaisuutta. Voit valita linkki lue lisää omaisuutta, mutta ennen kuin teet, olla tietoinen Excel Object Model Viite linkki alaosassa ikkunan., Valitse linkki nähdäksesi pitkän luettelon esineistä, joita Excel käyttää objektimallissaan kuvaillakseen laskentataulukoita ja niiden osia.

Valitse jokin näistä nähdäksesi kyseiseen kohteeseen sovellettavat ominaisuudet ja menetelmät sekä ristiviittaukset eri vastaaviin vaihtoehtoihin. Monissa Ohjemerkinnöissä on myös lyhyitä koodiesimerkkejä, jotka voivat auttaa. Esimerkiksi, voit seurata linkkejä Rajojen objektin nähdä, miten asettaa rajan VBA.

Worksheets(1).Range("A1").Borders.LineStyle = xlDouble

Editointi koodi

Rajojen koodi näyttää eri nauhoitettu makro., Yksi asia, joka voi olla hämmentävä esine malli on, että siellä on enemmän kuin yksi tapa käsitellä minkä tahansa objektin, solun A1 tässä esimerkissä.

Joskus paras tapa oppia ohjelmointia on tehdä pieniä muutoksia joihinkin toimiva koodi ja katso, mitä tapahtuu seurauksena. Kokeile nyt. Avaa Macro1 Visual Basic editorissa ja Muuta koodi seuraavasti.

Sub Macro1() Worksheets(1).Range("A1").Value = "Wow!" Worksheets(1).Range("A1").Borders.LineStyle = xlDoubleEnd Sub

Tip

käytä kopiota ja liitä mahdollisimman paljon työskennellessäsi koodin kanssa kirjoitusvirheiden välttämiseksi.,

sinun ei tarvitse tallentaa koodia kokeillaksesi sitä, joten palaa Excel-asiakirjaan, valitse makrot Kehittäjä-välilehdeltä, valitse Macro1 ja valitse Suorita. Cell A1 sisältää nyt tekstin Wow! ja sen ympärillä on kaksoisraja.

kuva 3. Tulokset ensimmäinen makro

vain yhdistää makro tallennus, lukeminen object model asiakirjat, ja yksinkertainen ohjelma tehdä VBA-ohjelma, joka tekee jotain. Onnitteluni!

ei toiminut? Lue vianetsintäehdotuksia VBA: sta.,

Ohjelmointi vinkkejä ja niksejä

Käynnistä esimerkkejä

VBA-yhteisö on erittäin suuri; haku Web voi lähes aina tuotto esimerkki VBA-koodia, joka tekee jotain vastaavaa, mitä haluat tehdä. Jos et löydä hyvää esimerkkiä, yritä hajottaa tehtävä pienempiin yksiköihin ja etsiä niistä jokaisesta, tai yritä ajatella yleisempää, mutta samankaltaista ongelmaa. Esimerkistä alkaen voi säästää tunteja aikaa.

se ei tarkoita sitä, että netissä olisi vapaa ja harkittu koodi odottamassa, että tulisit mukaan., Itse asiassa, jotkut koodi, että löydät voi olla vikoja tai virheitä. Ideana on, että netistä tai VBA-dokumentaatiosta löytyvät esimerkit antavat etumatkaa. Muista, että ohjelmoinnin oppiminen vaatii aikaa ja ajattelua. Ennen kuin sinulla on suuri kiire käyttää toista ratkaisua ongelman ratkaisemiseksi, kysy itseltäsi, onko VBA oikea valinta tähän ongelmaan.

Tee yksinkertaisempi ongelma

Ohjelmointi voi saada monimutkainen nopeasti. On kriittistä, varsinkin aloittelijana, että murrat ongelman pienimmille mahdollisille loogisille yksiköille, sitten kirjoitat ja testaat jokaisen kappaleen erikseen., Jos sinulla on liikaa koodia edessäsi ja hämmennyt tai sekaannut, lopeta ja aseta ongelma sivuun. Kun palaat ongelmaan, kopioi pieni osa ongelmasta uuteen moduuliin, ratkaise tämä pala, saat koodin toimimaan ja testaa se, että se toimii. Siirry sitten seuraavaan osaan.

Bugs ja testaus

On olemassa kaksi päätyyppiä ohjelmointi virheitä: – syntaksi virheitä, jotka rikkovat kieliopin sääntöjä ohjelmointikieli, ja run-time virheitä, jotka näyttävät syntaktisesti oikein, mutta epäonnistuvat, kun VBA yrittää suorittaa koodia.,

vaikka niiden korjaaminen voi olla turhauttavaa, syntaksivirheet on helppo napata; Visual Basic Editor piippaa ja väläyttää sinua, jos kirjoitat koodiisi syntaksivirheen.

esimerkiksi merkkijonoarvot on ympäröitävä VBA: ssa kaksoissidoksilla. Voit selvittää, mitä tapahtuu, kun käytät yksittäisiä lainauksia sijaan, palaa Visual Basic Editor ja korvata ” Wow!”string koodiesimerkki’ Wow!”(eli sana Wow, joka on suljettu yksittäisiin lainauksiin). Jos valitset seuraavan rivin, Visual Basic Editor reagoi., Virhe ”käännösvirhe: Lämpötila: ilmaisu” ei ole, että hyödyllisiä, mutta linja, joka tuottaa virhe muuttuu punaiseksi, voit kertoa, että sinulla on syntaksivirhe, että linja ja sen seurauksena, tämä ohjelma ei toimi.

valitse OK ja vaihda teksti takaisin muotoon ” Wow!”.

Juoksuvirheitä on vaikeampi saada kiinni, koska ohjelmoinnin syntaksi näyttää oikealta, mutta koodi epäonnistuu, kun VBA yrittää suorittaa sitä.,

esimerkiksi, avaa Visual Basic editor ja muuta Arvo-omaisuutta nimi ValueX oman Makro, tietoisesti käyttöön runtime virhe, koska Range-objekti ei ole omaisuutta kutsutaan ValueX. Palaa Excel-dokumenttiin, avaa Macros-valintaikkuna ja suorita Macro1 uudelleen. Sinun pitäisi nähdä visuaalinen perussanomalaatikko, joka selittää ajonaikavirheen tekstillä, ” objekti ei tue tätä menetelmän ominaisuutta.”Vaikka teksti on selkeä, valitse Debug selvittää enemmän.,

Kun palaat Visual Basic editor, se on erityinen debug-tilassa, joka käyttää keltainen kohokohta näyttää rivi koodia, joka epäonnistui. Odotetusti valuex-kiinteistöön sisältyvä linja korostuu.

voit tehdä muutoksia käynnissä olevaan VBA-koodiin, joten vaihda ValueX takaisin arvoon ja valitse Debug-valikon alta pieni vihreä play-painike. Ohjelman pitäisi toimia taas normaalisti.

on hyvä opetella käyttämään debuggeria harkitummin pidempään, monimutkaisempiin ohjelmiin., Vähintään oppia, miten asettaa break-pistettä lopettaa suorittamisen vaiheessa, jossa et halua vilkaista koodiin, miten lisätä kellot nähdä arvoja eri muuttujia ja ominaisuuksia, kuten koodi toimii, ja miten askel läpi koodin rivi riviltä. Nämä vaihtoehdot ovat kaikki saatavilla Debug-valikosta ja vakava debuggeri käyttäjät yleensä muistaa oheiset pikanäppäimet.,

Käyttää vertailumateriaalit hyvin

avaa Kehittäjä Viite, joka on rakennettu Toimisto Auttaa, avaa Ohje viite mistä tahansa Office-sovellus valitsemalla kysymysmerkin nauha tai painamalla F1-näppäintä. Sitten, oikealle Hakupainikkeesta, valitse pudotusnuoli suodattaa sisällön. Valitse Developer Reference. Jos et näe sisällysluetteloa vasemmassa paneelissa, valitse pieni kirja-kuvake avataksesi sen, ja laajenna objektimallin viittaus sieltä.

kuva 5., Suodatus kehittäjä Ohje koskee kaikkia Office-sovellukset

Aika selaaminen Object Model reference maksaa pois. Kun ymmärrät perusasiat VBA syntaksin ja oliomalli Office-sovellus, joka olet työskennellyt, voit etukäteen arvailun järjestelmällinen ohjelmointi.

tietenkin Microsoft Office Developer Center on erinomainen portaali artikkeleita, vinkkejä, ja yhteisön tietoja.,

Haku foorumeilla ja ryhmät

Kaikki ohjelmoijat jumiin joskus, vaikka lukemisen jälkeen jokainen viite artikkelin he voivat löytää ja menettää nukkua yöllä ajatellut erilaisia tapoja ratkaista ongelma. Onneksi Internet on vaalinut kehittäjien yhteisöä, joka auttaa toisiaan ratkaisemaan ohjelmointiongelmia.

Tahansa haku Web ”office developer forum” paljastaa useita keskusteluryhmiä. Voit etsiä ”office kehittämistä” tai kuvaus teidän ongelma löytää foorumeita, blogikirjoituksia ja artikkeleita sekä.,

Jos olet tehnyt kaiken voitavasi ongelman ratkaisemiseksi, älä pelkää lähettää kysymyksesi kehittäjäfoorumille. Nämä foorumeilla tervetuloa viestit uudempi ohjelmoijat ja monet kokeneet kehittäjät ovat valmiita auttamaan.

seuraavat ovat muutamia pistettä etiketti seurata, kun lähetät viestin kehittäjä foorumi:

  • Ennen kuin lähetät, katso sivuston FAQ tai ohjeita, jotka jäsenet haluavat voit seurata. Varmista, että lähetät sisältöä, joka on sopusoinnussa näiden ohjeiden ja oikeassa osassa foorumin.,

  • Sisällytä selkeä ja täydellinen koodi näyte, ja harkitse muokkaamalla koodia selventää sitä muille, jos se on osa pidempään osa koodia.

  • Kuvaile ongelma selkeästi ja ytimekkäästi, ja tiivistää kaikki vaiheet, jotka olet ottanut ongelman ratkaisemiseksi. Ota aikaa kirjoittaa viestisi niin hyvin kuin voit, varsinkin jos olet hämmentynyt tai kiire. Esitä tilanne tavalla, joka on järkevää lukijoille ensimmäistä kertaa, että he lukevat ongelmalausunnon.

  • Ole kohtelias ja arvostusta.,

Menee pidemmälle ohjelma

Vaikka tämä artikkeli on lyhyt ja vain naarmuja pintaan VBA: n ja ohjelmoinnin, toivottavasti tämä on tarpeeksi saada sinut alkoi.

tässä jaksossa käsitellään lyhyesti muutamia muita keskeisiä aiheita.

muuttujat

tämän artikkelin yksinkertaisissa esimerkeissä manipuloit esineitä, jotka sovellus oli jo luonut. Voit halutessasi luoda omia objekteja tallentaaksesi arvoja tai viittauksia muihin kohteisiin väliaikaiseen käyttöön sovelluksessasi. Näitä kutsutaan muuttujiksi.,

käyttää muuttujaa VBA, täytyy sanoa, VBA, minkä tyyppinen objekti muuttuja edustaa käyttämällä Dim-lauseella. Tämän jälkeen asetat sen arvon ja käytät sitä muiden muuttujien tai ominaisuuksien asettamiseen.

 Dim MyStringVariable As String MyStringVariable = "Wow!" Worksheets(1).Range("A1").Value = MyStringVariable

Aluevaltaus ja silmukoiden

yksinkertainen ohjelmat tässä artikkelissa suorittaa rivi kerrallaan, ylhäältä alas. Todellinen teho ohjelmoinnissa tulee vaihtoehdoista, jotka sinun täytyy määrittää, mitä koodilinjoja suorittaa, perustuen yhteen tai useampaan ehtoja, jotka määrität. Voit laajentaa näitä ominaisuuksia entisestään, kun voit toistaa operaation monta kertaa., Esimerkiksi seuraava koodi laajentaa Macro1: tä.

kirjoita tai liitä koodi Visual Basic editoriin ja suorita se. Seuraa ohjeita viestikenttään, joka näkyy ja muuta tekstiä sellissä A1 alkaen Wow! Kyllä! ja ajaa se uudelleen nähdä voimaa silmukoiden. Tämä koodi snippet osoittaa muuttujia, haaroittuminen ja silmukointi. Lue se huolellisesti, kun näet sen toiminnassa ja yritä määrittää, mitä tapahtuu, kun jokainen rivi suorittaa.

Kaikki Office-sovellukset: esimerkki koodi

Tässä muutamia skriptejä kokeilla; jokainen ratkaisee reaalimaailman Office-ongelma.,

Luo sähköposti Outlook

Sub MakeMessage() Dim OutlookMessage As Outlook.MailItem Set OutlookMessage = Application.CreateItem(olMailItem) OutlookMessage.Subject = "Hello World!" OutlookMessage.Display Set OutlookMessage = NothingEnd Sub

Ole tietoinen siitä, että on olemassa tilanteita, joissa saatat haluta automatisoida sähköposti Outlook; voit käyttää malleja kuin hyvin.

Poista tyhjät rivit Excel-laskentataulukon

Ole tietoinen siitä, että voit valita sarakkeen solut ja suorita tämä makro poistaa kaikki rivit valitun sarakkeen, joka on tyhjä solu.

Poista tyhjä teksti laatikot 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

Ole tietoinen siitä, että tämä koodi silmukoita läpi kaikki diat ja poistaa kaikki teksti laatikot, joissa ei ole mitään tekstiä., Count-muuttujan arvoon pienenee sijaan välein, koska aina, kun koodi poistaa objektin, se poistaa tuon esineen kokoelmasta, joka vähentää count.

Kopioi yhteystietoja Outlookista Sana

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

Ole tietoinen siitä, että tämä koodi kopioi tällä hetkellä avata yhteystiedot Outlook avoimeen Word-asiakirjaan. Tämä koodi toimii vain, jos on yhteystiedot tällä hetkellä avoinna tarkastusta Outlookissa.

Tuki ja palaute

On kysyttävää tai palautetta Office VBA tai nämä asiakirjat?, Katso Office VBA tukea ja palautetta varten ohjeita siitä, miten voit saada tukea ja antaa palautetta.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *