Welcome to Our Website

jak začít s VBA v Office

  • 08/14/2019
  • 25 minut číst
    • o
    • R
    • L
    • m
    • O
    • +4

jste čelí opakované vyčištění padesát tabulek v aplikaci Word? Chcete, aby konkrétní dokument vyzve uživatele ke vstupu, když se otevře?, Máte potíže přijít na to, jak získat své kontakty z aplikace Microsoft Outlook do tabulky Microsoft Excel efektivně?

můžete provádět tyto úkoly a plnit mnohem více pomocí jazyka Visual Basic for Applications (VBA) pro Office—jednoduchý, ale výkonný programovací jazyk, který můžete použít na rozšíření Kancelářských aplikací.

tento článek je určen pro zkušené uživatele Office, kteří se chtějí dozvědět o VBA a kteří chtějí nějaký vhled do toho, jak jim programování může pomoci přizpůsobit Office.

kancelářská sada aplikací má bohatou sadu funkcí., Existuje mnoho různých způsobů, jak autor, formátovat a manipulovat s dokumenty, e-mailem, databázemi, formuláři, tabulkami a prezentacemi. Velkou silou programování VBA v kanceláři je, že téměř každou operaci, kterou můžete provést pomocí myši, klávesnice nebo dialogového okna, lze také provést pomocí VBA. Dále, pokud to lze provést jednou s VBA, lze to udělat stejně snadno stokrát. (Ve skutečnosti je automatizace opakovaných úkolů jedním z nejčastějších použití VBA v kanceláři.,)

kromě síly skriptování VBA k urychlení každodenních úkolů můžete pomocí VBA přidat nové funkce do kancelářských aplikací nebo vyzvat a komunikovat s uživatelem vašich dokumentů způsobem, který je specifický pro vaše obchodní potřeby. Můžete například napsat nějaký kód VBA, který zobrazí vyskakovací zprávu, která uživatelům připomene uložení dokumentu na konkrétní síťovou jednotku při prvním pokusu o jeho uložení.

tento článek zkoumá některé z hlavních důvodů, jak využít sílu programování VBA., Zkoumá jazyk VBA a out-of-the-box nástroje, které můžete použít pro práci s vašimi řešeními. Nakonec obsahuje několik tipů a způsobů, jak se vyhnout některým běžným programovacím frustracím a chybám.

Poznámka

máte zájem o vývoj řešení, která rozšiřují kancelářské zkušenosti na více platformách? Podívejte se na nový model kancelářských doplňků. Kancelářské doplňky mají ve srovnání s doplňky a řešeními VSTO malou stopu a můžete je vytvořit pomocí téměř jakékoli technologie webového programování, jako jsou HTML5, JavaScript, CSS3 a XML.,

kdy použít VBA a proč

existuje několik hlavních důvodů, proč uvažovat o programování VBA v Office.

Automatizace a opakování

VBA je účinný a efektivní, pokud jde o opakované řešení formátování nebo opravu problémů. Například jste někdy změnili styl odstavce v horní části každé stránky v aplikaci Word? Už jste někdy museli přeformátovat více tabulek, které byly vloženy z aplikace Excel do dokumentu aplikace Word nebo e-mailu Aplikace Outlook? Už jste někdy museli provést stejnou změnu ve více kontaktech aplikace Outlook?,

Pokud máte změnu, kterou musíte provést více než deset nebo dvacetkrát, může být vhodné ji automatizovat pomocí VBA. Pokud se jedná o změnu, kterou musíte udělat stokrát, určitě stojí za zvážení. Téměř jakékoli formátování nebo úpravy, které můžete provést ručně, lze provést ve VBA.

rozšíření pro interakci uživatelů

jsou chvíle, kdy chcete povzbudit nebo donutit uživatele k interakci s aplikací Office nebo dokumentem určitým způsobem, který není součástí standardní aplikace., Například, možná budete chtít vyzvat uživatele, aby podnikli nějakou konkrétní akci, když otevřou, uloží nebo vytisknou dokument.

interakce mezi kancelářskými aplikacemi

potřebujete zkopírovat všechny kontakty z aplikace Outlook do aplikace Word a poté je nějakým způsobem naformátovat? Nebo potřebujete přesunout data z aplikace Excel do sady snímků aplikace PowerPoint? Někdy jednoduché kopírování a vkládání nedělá to, co chcete, nebo je příliš pomalé., Programování VBA můžete použít k interakci s podrobnostmi dvou nebo více kancelářských aplikací současně a poté upravit obsah v jedné aplikaci na základě obsahu v jiné aplikaci.

dělat věci jiným způsobem

programování VBA je výkonné řešení, ale není to vždy optimální přístup. Někdy má smysl používat jiné způsoby, jak dosáhnout vašich cílů.

kritickou otázkou je, zda existuje jednodušší způsob. Než začnete projekt VBA, zvažte vestavěné nástroje a standardní funkce., Pokud například máte časově náročnou úlohu úpravy nebo rozvržení, zvažte použití stylů nebo kláves akcelerátoru k vyřešení problému. Můžete úkol provést jednou a poté jej opakovat pomocí CTRL+Y (Redo)? Můžete vytvořit nový dokument se správným formátem nebo šablonou a poté zkopírovat obsah do tohoto nového dokumentu?

kancelářské aplikace jsou výkonné; řešení, které potřebujete, již může být. Udělejte si nějaký čas, abyste se dozvěděli více o kanceláři, než skočíte do programování.

než začnete projekt VBA, ujistěte se, že máte čas pracovat s VBA., Programování vyžaduje zaměření a může být nepředvídatelné. Zvláště jako začátečník se nikdy neobracejte k programování, pokud nemáte čas pečlivě pracovat. Pokus o napsání „rychlého skriptu“ k vyřešení problému, kdy se blíží termín, může mít za následek velmi stresující situaci. Pokud jste ve spěchu, možná budete chtít použít konvenční metody, i když jsou monotónní a opakující se.

VBA Programování 101

Použití kódu, aby aplikace dělat věci

možná Si myslíte, že psaní kódu je tajemný, nebo složité, ale základní principy používat každý den, odůvodnění a jsou zcela přístupné., Aplikace Microsoft Office jsou vytvořeny tak, že vystavují věci zvané objekty, které mohou přijímat pokyny, stejně jako telefon je navržen s tlačítky, které používáte k interakci s telefonem. Když stisknete tlačítko, telefon rozpozná instrukci a obsahuje odpovídající číslo v pořadí, které voláte. Při programování komunikujete s aplikací zasláním pokynů různým objektům v aplikaci. Tyto objekty jsou expanzivní, ale mají své limity., Mohou dělat jen to, k čemu jsou určeny, a budou dělat jen to, co jim nařizujete.

zvažte například uživatele, který otevře dokument v aplikaci Word, provede několik změn, uloží dokument a poté jej zavře. Ve světě programování VBA Word vystavuje objekt dokumentu. Pomocí kódu VBA můžete objekt dokumentu instruovat, aby dělal věci, jako je otevřít, uložit nebo zavřít.

následující část popisuje, jak jsou objekty organizovány a popsány.,

objektový Model

vývojáři organizují programovací objekty v hierarchii a tato hierarchie se nazývá objektový model aplikace. Word má například objekt aplikace nejvyšší úrovně, který obsahuje objekt dokumentu. Objekt dokumentu obsahuje objekty odstavce a tak dále. Objektové modely zhruba odrážejí to, co vidíte v uživatelském rozhraní. Jsou koncepční mapou aplikace a jejích schopností.

definice objektu se nazývá třída, takže můžete vidět tyto dva pojmy používané zaměnitelně., Technicky je třída popis nebo šablona, která se používá k vytvoření nebo instanci objektu.

jakmile objekt existuje, můžete s ním manipulovat nastavením jeho vlastností a voláním jeho metod. Pokud uvažujete o objektu jako o podstatném jménu, vlastnosti jsou přídavná jména, která popisují podstatné jméno a metody jsou slovesa, která oživují podstatné jméno. Změna vlastnosti mění určitou kvalitu vzhledu nebo chování objektu. Volání jedné z objektových metod způsobí, že objekt provede nějakou akci.,

kód VBA v tomto článku běží proti open Office aplikace, kde je mnoho objektů, které kód manipuluje se již nahoru a běh, například, samotné Aplikace, na Listu aplikace Excel, Dokument ve wordu, Prezentace v PowerPoint, Explorer a Složky objektů v aplikaci Outlook. Jakmile budete znát základní uspořádání modelu objektu a některé klíčové vlastnosti Aplikace, které umožňují přístup k aktuálním stavu, můžete začít prodlužovat a manipulovat s nimi, že aplikace Office s VBA v Office.,

Metody

V aplikaci Word, například, můžete změnit vlastnosti a vyvolání metod aktuálního dokumentu aplikace Word pomocí ActiveDocument vlastnost objektu Application. Tato vlastnost ActiveDocument vrací odkaz na objekt dokumentu, který je v současné době aktivní v aplikaci Word. „Vrací odkaz na „prostředky“ vám dává přístup k.“

následující kód dělá přesně to, co říká; To znamená, že uloží aktivní dokument do aplikace.,

Application.ActiveDocument.Save

Přečtěte si kód zleva doprava, „V této Aplikaci, Dokument odkazuje ActiveDocument, vyvolat metodu ukládání.“Uvědomte si, že Save je nejjednodušší forma metody; nevyžaduje od vás žádné podrobné pokyny. Instruujete objekt dokumentu, který chcete uložit, a nevyžaduje od vás žádný další vstup.

Pokud metoda vyžaduje více informací, tyto údaje se nazývají parametry. Následující kód spustí metodu SaveAs, která vyžaduje nový název souboru.,

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

hodnoty uvedené v závorkách za názvem metody jsou parametry. Zde je nový název souboru parametrem pro metodu SaveAs.

vlastnosti

pro nastavení vlastnosti, kterou používáte pro čtení vlastnosti, používáte stejnou syntaxi. Následující kód provede metodu pro výběr buňky A1 v aplikaci Excel a poté pro nastavení vlastnosti pro vložení něčeho do této buňky.

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

první soutěž v programování VBA je získat pocit, pro objekt modelu z každé aplikaci Office a číst objekt, metoda, vlastnost syntaxe., Objektové modely jsou podobné ve všech kancelářských aplikacích, ale každý je specifický pro druh dokumentů a objektů, se kterými manipuluje.

v prvním řádku úryvku kódu je objekt aplikace, tentokrát Excel a poté ActiveSheet, který poskytuje přístup k aktivnímu listu. Poté je termín, který není tak známý, rozsah, což znamená “ definovat rozsah buněk tímto způsobem.“Kód instruuje Range, aby se vytvořil pouze s A1 jako jeho definovanou sadou buněk. Jinými slovy, první řádek kódu definuje objekt, rozsah a spustí proti němu metodu pro jeho výběr., Výsledek je automaticky uložen v jiné vlastnosti aplikace zvané výběr.

druhý řádek kódu nastaví vlastnost hodnoty výběru na text „Hello World“ a tato hodnota se objeví v buňce A1.

nejjednodušší kód VBA, který píšete, může jednoduše získat přístup k objektům v kancelářské aplikaci, se kterou pracujete, a nastavit vlastnosti. Můžete například získat přístup k řádkům v tabulce v aplikaci Word a změnit jejich formátování ve skriptu VBA.,

zní To jednoduše, ale to může být neuvěřitelně užitečné, jednou můžete napsat kód, můžete využít všechny síly programování, aby se tyto stejné změny v několika tabulkách nebo dokumenty, nebo se jim podle nějaké logiky nebo stavu. U počítače se 1000 změn neliší od provedení 10, takže zde existuje ekonomika měřítka s většími dokumenty a problémy, a to je místo, kde VBA může opravdu zářit a ušetřit vám čas.,

Makra a Visual Basic Editor

Nyní, když víte něco o tom, jak aplikace Office vystavit jejich objektových modelů, jste pravděpodobně dočkat, až vyzkoušet volání metod objektu, nastavení vlastnosti objektu, a reagovat na objekt události. Chcete-li tak učinit, musíte napsat svůj kód na místě a způsobem, který úřad může pochopit; obvykle pomocí editoru Visual Basic. Ačkoli je nainstalován ve výchozím nastavení, mnoho uživatelů neví, že je dokonce k dispozici, dokud není povoleno na pásu karet.

všechny kancelářské aplikace používají pásku., Jedna karta na pásu karet je karta pro vývojáře, kde přistupujete k editoru Visual Basic a dalším vývojářským nástrojům. Protože Úřad nemá zobrazit kartu Vývojář ve výchozím nastavení, musíte ji povolit pomocí následujícího postupu:

Chcete-li povolit kartu Vývojář

  1. Na kartě Soubor vyberte Možnosti otevřete Možnosti dialogové okno.

  2. zvolte možnost Přizpůsobit pásku na levé straně dialogového okna.

  3. v části Vyberte příkazy z levé strany dialogového okna vyberte populární příkazy.,

  4. v části Přizpůsobit stuhu na pravé straně dialogového okna vyberte hlavní karty v rozevíracím seznamu a poté zaškrtněte políčko Vývojář.

  5. zvolte OK.

Poznámka:

V Office 2007, zobrazí se karta Vývojář výběrem tlačítko Office, volbu Možnosti a poté vyberte Zobrazit kartu Vývojář na Pásu karet zaškrtněte v kategorii Oblíbené v dialogovém okně Možnosti.

po povolení karty Developer je snadné najít tlačítka Visual Basic a makra.

Obrázek 1., Tlačítka na kartě Vývojář

Bezpečnostní problémy

Úřad Pro ochranu uživatelů před viry a nebezpečné makro kódu, nelze uložit kód makra ve standardním dokumentu sady Office, který používá standardní příponou. Místo toho musíte kód uložit do souboru se speciální příponou. Například nelze uložit makra ve standardním dokumentu aplikace Word s.docx rozšíření; místo toho musíte použít speciální Word makro-povolen dokument s.rozšíření docm.

při otevření .,soubor docm, zabezpečení sady Office může stále zabránit spuštění Maker v dokumentu, s nebo bez toho, aby vám to řekli. Zkontrolujte nastavení a možnosti v Trust Center ve všech kancelářských aplikacích. Výchozí nastavení zakáže spuštění makra, ale varuje vás, že makra byla deaktivována a dává vám možnost je znovu zapnout pro tento dokument.

můžete určit konkrétní složky, kde mohou makra spouštět vytvořením důvěryhodných míst, důvěryhodných dokumentů nebo důvěryhodných vydavatelů., Nejvíce portable možností je použití Důvěryhodných Vydavatelů, který pracuje s digitálně podepsané dokumenty, které budete distribuovat. Pro více informací o nastavení zabezpečení v konkrétní kancelářské aplikaci otevřete dialogové okno Možnosti, vyberte Trust Center a poté vyberte Nastavení Trust Center.

Poznámka

některé kancelářské aplikace, jako je Outlook, ve výchozím nastavení ukládají makra do hlavní šablony v místním počítači., Ačkoli tato strategie snižuje místní bezpečnostní problémy na vašem počítači při spuštění vlastních Maker, vyžaduje strategii nasazení, pokud chcete distribuovat své makro.

Záznam makra

Když se rozhodnete tlačítka Makra na kartě Vývojář, se otevře dialogové okno Makra, která vám umožní přístup k VBA podprogramů a maker, která můžete přistupovat z určitého dokumentu nebo aplikace. Tlačítko Visual Basic otevře Editor Visual Basic, kde vytváříte a upravujete kód VBA.,

dalším tlačítkem na kartě Vývojář v aplikaci Word a Excel je tlačítko záznamu makra, které automaticky generuje kód VBA, který dokáže reprodukovat akce, které provádíte v aplikaci. Record makro je skvělý nástroj, který můžete použít k Dozvědět se více o VBA. Čtení generovaného kódu vám může poskytnout vhled do VBA a poskytnout stabilní most mezi vašimi znalostmi Office jako uživatele a vašimi znalostmi jako programátor., Jedinou námitkou je, že generovaný kód může být matoucí, protože Editor Maker musí učinit nějaké předpoklady o vašich záměrech a tyto předpoklady nejsou nutně přesné.

pro záznam makra

  1. otevřete Excel do nového sešitu a vyberte kartu Vývojář v pásu karet. Vyberte Makro záznamu a přijměte všechna výchozí nastavení v dialogovém okně Makro záznamu, včetně Makra1 jako názvu makra a tohoto sešitu jako umístění.

  2. zvolte OK pro zahájení nahrávání makra. Všimněte si, jak se změní text tlačítka pro zastavení nahrávání., Vyberte toto tlačítko v okamžiku, kdy dokončíte akce, které chcete zaznamenat.

  3. zvolte buňku B1 a zadejte klasický první řetězec programátora: Hello World. Přestaňte psát a podívejte se na tlačítko Stop Recording; je šedý, protože Excel čeká na dokončení psaní hodnoty v buňce.

  4. zvolte buňku B2 pro dokončení akce v buňce B1 a poté zvolte Stop Recording.

  5. Vyberte Makra na kartě Vývojář vyberte položku Macro1, pokud to není vybrána, a pak vyberte Upravit pro zobrazení kódu z Macro1 v Visual Basic Editor.,

Obrázek 2. Kód makra v jazyce Visual Basic Editor,

při Pohledu na kód

makro, které jste vytvořili, by mělo vypadat podobně jako následující kód.

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

uvědomte si podobnosti s dřívějším úryvkem kódu, který vybral text v buňce A1, a rozdíly. V tomto kódu je vybrána buňka B1 a na buňku, která byla aktivní, je aplikován řetězec „Hello World“. Citace kolem textu určují hodnotu řetězce na rozdíl od číselné hodnoty.,

Pamatujete si, jak jste zvolili buňku B2 pro opětovné zobrazení tlačítka Stop Recording? Tato akce se objevuje také jako řádek kódu. Makro rekordér zaznamenává každý stisk klávesy.

řádky kódu, které začínají apostrof a barevné zelené editoru jsou komentáře, které vysvětlují kód, nebo vám připomenout, a další programátoři účelem kodexu. VBA ignoruje jakýkoli řádek nebo část řádku, který začíná jediným citátem. Psaní jasných a vhodných komentářů ve vašem kódu je důležitým tématem, ale tato diskuse je mimo rozsah tohoto článku., Následné odkazy na tento kód v článku nezahrnují tyto čtyři řádky komentářů.

když makro rekordér generuje kód, používá komplexní algoritmus k určení metod a vlastností, které jste zamýšleli. Pokud nepoznáte danou vlastnost, existuje mnoho zdrojů, které vám pomohou. Například v makru, které jste zaznamenali, vygeneroval makro rekordér kód, který odkazuje na vlastnost FormulaR1C1. Nejste si jisti, co to znamená?

Poznámka

uvědomte si, že objekt aplikace je implikován ve všech makrech VBA., Kód, který jste nahráli, pracuje s aplikací. na začátku každého řádku.

pomocí Developer Help

vyberte FormulaR1C1 v zaznamenaném makru a stiskněte klávesu F1. Systém nápovědy spouští rychlé vyhledávání, určuje, že příslušné předměty jsou v sekci Excel pro vývojáře nápovědy aplikace Excel a uvádí vlastnost FormulaR1C1. Můžete si vybrat odkaz, abyste si přečetli více o vlastnosti, ale než to uděláte, uvědomte si referenční odkaz Excel Object Model v dolní části okna., Vyberte odkaz pro zobrazení dlouhého seznamu objektů, které Excel používá ve svém objektovém modelu k popisu pracovních listů a jejich součástí.

vyberte některou z nich, abyste viděli vlastnosti a metody, které se vztahují na tento konkrétní objekt, spolu s křížovými odkazy na různé související možnosti. Mnoho položek nápovědy má také stručné příklady kódu, které vám mohou pomoci. Můžete například sledovat odkazy v objektu Borders a zjistit, jak nastavit hranici ve VBA.

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

úprava kódu

hraniční kód vypadá jinak než zaznamenané makro., Jedna věc, která může být matoucí s objektovým modelem, je, že existuje více než jeden způsob, jak řešit daný objekt, buňku A1 v tomto příkladu.

někdy je nejlepším způsobem, jak se naučit programování, provést drobné změny v nějakém pracovním kódu a zjistit, co se v důsledku toho stane. Zkus to teď. Otevřete Macro1 v editoru Visual Basic a změňte kód na následující.

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

Tip

při práci s kódem používejte co nejvíce kopírování a vkládání, abyste se vyhnuli chybám při psaní.,

nemusíte uložit kód, aby to vyzkoušet, takže návrat do aplikace Excel dokumentu, vyberte Makra na kartě Vývojář vyberte si Macro1, a pak zvolte Spustit. Buňka A1 nyní obsahuje text Wow! a má kolem sebe dvojitou hranici.

obrázek 3. Výsledky své první makro

jen v kombinaci makro nahrávání, čtení v dokumentaci k modelu objektu, a jednoduché programování, aby se VBA program, který něco dělá. Gratuluji!

nefungovalo? Přečtěte si o ladění návrhů ve VBA.,

Programování, tipy a triky

Začněte s příklady

VBA komunita je velmi velký; vyhledávání na Webu, může téměř vždy výnos příklad VBA kód, který dělá něco podobného, co chcete dělat. Pokud nemůžete najít dobrý příklad, zkuste úkol rozdělit na menší jednotky a hledat na každém z nich, nebo se pokuste vymyslet běžnější, ale podobný problém. Počínaje příkladem vám může ušetřit hodiny času.

to neznamená, že volný a dobře promyšlený kód je na webu a čeká,až přijdete., Ve skutečnosti některé z kódů, které najdete, mohou mít chyby nebo chyby. Myšlenka je, že příklady, které najdete online nebo v dokumentaci VBA, vám dávají náskok. Nezapomeňte, že učení programování vyžaduje čas a myšlení. Než se dostanete do velkého spěchu, abyste použili jiné řešení k vyřešení vašeho problému, zeptejte se sami sebe, zda je VBA tou správnou volbou pro tento problém.

udělejte jednodušší problém

programování se může rychle zkomplikovat. Je důležité, zejména jako začátečník, že problém rozbijete na nejmenší možné logické jednotky, poté každý kus zapíšete a otestujete izolovaně., Pokud máte před sebou příliš mnoho kódu a jste zmateni nebo zmateni, zastavte a odložte problém stranou. Když se vrátíte k problému, zkopírujte malý kus problému do nového modulu, vyřešte tento kus, nechte kód pracovat a otestujte jej, aby zajistil, že funguje. Pak přejděte na další část.

Chyby a ladění

Existují dva hlavní typy chyby v programech: syntaktické chyby, které porušují gramatická pravidla programovacího jazyka, a run-time chyby, které se syntakticky správné, ale selhávají, když VBA pokusí spustit kód.,

i když mohou být frustrující, opravit, chyby syntaxe jsou snadno chytit; Visual Basic Editor pípne a bliká na vás, pokud zadáte chyba syntaxe v kódu.

například hodnoty řetězců musí být ve VBA obklopeny dvojitými uvozovkami. Chcete-li zjistit, co se stane, když místo toho použijete jednotlivé citace, vraťte se do editoru Visual Basic a nahraďte “ Wow!“řetězec v příkladu kódu s‘ Wow!“(to znamená slovo Wow uzavřené v jednotlivých uvozovkách). Pokud zvolíte další řádek, reaguje Editor Visual Basic., Chyba „Compile error: Expected: expression“ není tak užitečná, ale řádek, který generuje chybu, zčervená, aby vám řekl, že v tomto řádku máte chybu syntaxe a v důsledku toho se tento program nespustí.

zvolte OK a změňte text zpět na “ Wow!“.

Runtime chyby jsou těžší chytit, protože syntaxe programování vypadá správně,ale kód selže, když se VBA pokusí provést.,

například, otevřete Editor jazyka Visual Basic a změnit Hodnotu název vlastnosti do ValueX v Makru, záměrně zavádí runtime error, protože Rozsah objekt nemá vlastnost s názvem ValueX. Vraťte se zpět do dokumentu aplikace Excel, otevřete dialogové okno makra a znovu spusťte Makro1. Měli byste vidět pole Visual Basic zpráva, která vysvětluje chybu run-time s textem, “ Objekt nepodporuje tuto vlastnost metody.“I když je tento text jasný, zvolte Debug a zjistěte více.,

když se vrátíte do editoru Visual Basic, je to ve speciálním režimu ladění, který používá žluté zvýraznění, aby vám ukázal řádek kódu, který selhal. Podle očekávání je zvýrazněna čára, která zahrnuje vlastnost ValueX.

můžete provést změny v spuštěném kódu VBA, takže změňte ValueX zpět na hodnotu a vyberte malé zelené tlačítko přehrávání pod nabídkou ladění. Program by měl běžet normálně znovu.

je dobré se naučit, jak debugger používat záměrně pro delší a složitější programy., Na minimum, naučit se, jak nastavit break-body zastavení exekuce v místě, kde chcete, aby se podívat na kód, jak přidat hodinky vidět hodnoty různých proměnných a vlastnosti jako kód běží, a jak krokovat kód řádek po řádku. Tyto možnosti jsou k dispozici v nabídce Debug a vážné debugger uživatelé obvykle zapamatovat doprovodné klávesové zkratky.,

Použití referenčních materiálů

otevřít Developer Odkaz, který je postaven do Kanceláře, Pomoc, Nápověda otevřete odkaz z libovolné aplikace Office výběrem otazník v pásu karet nebo stiskem F1. Poté vpravo od tlačítka Hledat vyberte rozbalovací šipku pro filtrování obsahu. Vyberte Odkaz Pro Vývojáře. Pokud na levém panelu nevidíte obsah, vyberte ikonu malé knihy, kterou chcete otevřít, a odtud rozbalte odkaz na objektový Model.

obrázek 5., Filtrování na vývojka Pomoc platí pro všechny aplikace sady Office

Čas strávený procházení objektového Modelu referenční vyplatí. Poté, co pochopíte základy syntaxe VBA a objektový model pro kancelářskou aplikaci, se kterou pracujete, postupujete od dohadů k metodickému programování.

vývojářské centrum Microsoft Office je samozřejmě vynikajícím portálem pro články, tipy a informace o komunitě.,

Vyhledávání fóra a skupiny

Všechny programátory uvíznou někdy, i po přečtení každý odkaz článku mohou najít a spát v noci přemýšlel o různých způsobech, jak vyřešit problém. Naštěstí Internet podpořil komunitu vývojářů, kteří si navzájem pomáhají řešit problémy s programováním.

jakékoli vyhledávání na webu pro „office developer forum“ odhaluje několik diskusních skupin. Můžete vyhledávat na „office development“ nebo popis vašeho problému objevovat fóra, blogové příspěvky, a články, jakož.,

Pokud jste udělali vše pro vyřešení problému, nebojte se zveřejnit svou otázku na fóru vývojářů. Tato fóra vítají příspěvky od novějších programátorů a mnoho zkušených vývojářů vám rádi pomůže.

následující několik bodů, etikety následovat, když účtujete na developer forum:

  • Než začnete psát, podívejte se na stránky pro FAQ, nebo pro pokyny, které členové chtějí vás následovat. Ujistěte se, že zveřejňujete obsah, který je v souladu s těmito pokyny, a ve správné části fóra.,

  • obsahuje jasný a úplný vzorek kódu a zvažte úpravu kódu, abyste jej objasnili ostatním, pokud je součástí delší části kódu.

  • popište svůj problém jasně a stručně a shrňte všechny kroky, které jste podnikli k vyřešení problému. Udělejte si čas psát svůj příspěvek, stejně jako můžete, zvláště pokud jste nervózní nebo ve spěchu. Prezentujte situaci způsobem, který bude mít smysl čtenářům poprvé, když si přečtou problémové prohlášení.

  • buďte zdvořilí a vyjádřete své uznání.,

jít dále s programováním

i když tento článek je krátký a pouze poškrábá povrch VBA a programování, doufejme, že stačí, abyste mohli začít.

tato část stručně popisuje několik dalších klíčových témat.

proměnné

v jednoduchých příkladech v tomto článku jste manipulovali s objekty, které aplikace již vytvořila. Možná budete chtít vytvořit své vlastní objekty pro ukládání hodnot nebo odkazů na jiné objekty pro dočasné použití ve vaší aplikaci. Ty se nazývají proměnné.,

Chcete-li použít proměnnou ve VBA, musí sdělit VBA, který typ objektu proměnná představuje pomocí příkazu Dim. Poté nastavíte jeho hodnotu a použijete ji k nastavení dalších proměnných nebo vlastností.

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

Větvení a smyčky

jednoduché programy v tomto článku spustit jeden řádek v době, od shora dolů. Skutečná síla v programování pochází z možností, které musíte určit, které řádky kódu provést, na základě jedné nebo více podmínek, které zadáte. Tyto možnosti můžete ještě dále rozšířit, když můžete operaci opakovat mnohokrát., Například následující kód rozšiřuje Macro1.

zadejte nebo vložte kód do editoru Visual Basic a spusťte jej. Postupujte podle pokynů v zobrazeném okně zpráv a změňte text v buňce A1 z Wow! na Ano! a spusťte to znovu, abyste viděli sílu opakování. Tento úryvek kódu demonstruje proměnné, větvení a smyčkování. Přečtěte si ji pečlivě poté, co ji uvidíte v akci, a pokuste se zjistit, co se stane, když každý řádek provede.

Všechny mé Kancelářských aplikací: například kód

Zde jsou některé skripty, aby se pokusili, každý řeší real-svět Kancelářské problém.,

Vytvořit e-mail v aplikaci Outlook

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

uvědomte si, že existují situace, ve kterém, možná budete chtít automatizovat e-mail v aplikaci Outlook, můžete použít šablony stejně.

Odstranit prázdné řádky v listu aplikace Excel

uvědomte si, že můžete vybrat sloupce, buněk a spustit toto makro, aby se odstranit všechny řádky ve vybrané sloupce, které mají prázdné buňky.

Odstranit prázdné textové pole v aplikaci 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

uvědomte si, že tento kód smyčky přes všechny snímky a odstraní všechny textové boxy, které nemají žádný text., Počet proměnných se snižuje místo přírůstků, protože pokaždé, když kód odstraní objekt, odstraní tento objekt ze sbírky, což snižuje počet.

Kopírovat kontakt z aplikace Outlook do aplikace 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

uvědomte si, že tento kód zkopíruje současné době otevřít kontakt v aplikaci Outlook do otevřeného dokumentu aplikace Word. Tento kód funguje pouze v případě, že je kontakt v současné době otevřen pro kontrolu v aplikaci Outlook.

podpora a zpětná vazba

máte dotazy nebo zpětnou vazbu ohledně Office VBA nebo této dokumentace?, Viz Office VBA podporu a zpětnou vazbu pro vedení o způsobech, jak můžete získat podporu a poskytnout zpětnou vazbu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *