• Úvod do VBA, makra, programování v Excelu. Jak napsat makro v Excelu v programovacím jazyce VBA

    Referenční funkce list Excelu je odkaz na funkci listu aplikace Excel ve formátu .chm nápovědy systému Windows. Soubor obsahuje kompletní seznam funkcí listu Excel v ruštině a angličtině a je opatřen příklady použití a aplikace funkcí. Průvodce může být užitečný jak pro začátečníky, tak pro zkušenější uživatele.

    Formát souboru:.chm

    Referenční funkce listu aplikace Excel(532,2 kiB, 15 462 stažení)

    Programování VBA v MSOffice je velmi dobrý návod pro začátečníky programování ve VBA. Kniha je napsána certifikovaným učitelem Microsoft Office snadno srozumitelný jazyk vybavený kompetentními seznamy kódů. Učebnice vám pomůže naučit se programovat nejen v Microsoft Excel, ale také Microsoft Word a Microsoft Project.

    Formát souboru:.pdf

    Programování VBA v MS Office(4,1 MiB, 26 659 stažení)
    Ke stažení tohoto souboru nemáte oprávnění. Možná nejste na webu registrováni. Zaregistrujte se a zkuste stáhnout znovu.

    Walkenbach J. Profesionální programování v VBA Excel 2003 - možná nejoblíbenější základní nátěr pro začátečníky. Mnozí s ním začali. Je pravda, že tištěná verze tohoto návodu používá výpisy kódů, které není vždy třeba brát jako samozřejmost – velmi často dochází k překlepům a místo anglických znaků jsou ruské. Osobně bych proto radil nekopírovat kódy přímo z knihy, ale přepsat je ručně v editoru VBA. Bude se tak lépe pamatovat a ušetříte se hledání chyb.

    Formát souboru:.pdf

    Office 2007. Tutoriál – Pokud se rozhodnete blíže podívat na rozhraní a hlavní funkce aplikací Microsoft Office, pak vám doporučuji přečíst si tuto knihu. Popisuje vše potřebné pro úspěšnou práci v aplikacích jako: Excel, Word, Outlook, Power Point, Access. Po přečtení budete umět vytvářet krásné prezentace a informativní grafiku, učitel vytvářet úkoly v Outlooku a databáze v Accessu.

    Formát souboru:.pdf

    Ruská pomoc dál Visual Basic for Application(VBA) – Toto je oficiální odkaz na Visual Basic for Application(VBA), který byl součástí balíček Microsoft Kancelář 97. Pak byla pomoc stále rusifikovaná. Není žádným tajemstvím, že nyní je nápověda VBA ve všech verzích kanceláře dostupná pouze v angličtině bez ohledu na lokalizaci. A ne každý umí číst buržoazně (i snesitelně, jak ukazuje praxe).
    Chci vás hned varovat – protože. pomoc je pro krásné stará verze, nejsou v něm popsány všechny metody a vlastnosti. Většina z nich je ale stále popsána a doufám, že vám tato reference pomůže v počátečním studiu VBA.

    Formát souboru:.soubor nápovědy

    ENG_VBA.zip(1,1 MiB, 9 164 stažení)
    Ke stažení tohoto souboru nemáte oprávnění. Možná nejste na webu registrováni. Zaregistrujte se a zkuste stáhnout znovu.

    Objekty Shell_RegExp a tak dále - sbírka příkladů práce s takovými objekty, jako jsou: Shell, RegExp, FileSystemObject, WshShell, Dictionary, WshNetwork, WScript, konstanty a funkce WScript. Všechny příklady jsou strukturovány do sekcí a slouží jako reference pro vlastnosti a metody každého z objektů. Je velmi výhodné, pokud tyto předměty při své práci příliš často nepoužíváte a na něco se zapomene.

    Návod

    Spusťte aplikaci Microsoft Office Excel. V případě potřeby vytvořte nový dokument. Chcete-li to provést, stiskněte klávesy Ctrl + N nebo rozbalte nabídku „Soubor“ a vyberte „Nový ...“. Poté klikněte na odkaz „Prázdná kniha“ na panelu „Vytvořit knihu“.

    Otevřete okno editoru jazyka Visual Basic. Chcete-li to provést, stiskněte Alt+F11 nebo vyberte Editor jazyka Visual Basic v části Makro v nabídce Nástroje. Zde uvidíte panel projektu zobrazující strom objektů excelové knihy, stejně jako formuláře, moduly a moduly tříd, které obsahuje.

    V případě potřeby vytvořte formuláře. V hlavní nabídce klikněte na Vložit a poté na UserForm. V části Formuláře na panelu projektu přidejte nový prvek. Po vytvoření se formulář automaticky otevře. Pomocí myši přetáhněte ovládací prvky z panelu nástrojů do okna formuláře. Změňte jejich velikost a polohu. Po výběru pomocí myši změňte jejich vlastnosti na panelu Vlastnosti. Uložte formuláře stisknutím Ctrl+S.

    Vytvořte tolik modulů nebo modulů tříd, kolik potřebujete. Chcete-li to provést, vyberte položky Modul nebo Modul třídy v části Vložit v hlavní nabídce. Otevřete okna pro úpravu kódu požadovaných modulů nebo formulářů poklepáním na odpovídající prvky v okně projektu.

    Přidejte deklarace třídy do modulů třídy. Definujte je pomocí klíčového slova Class:
    Třída CSampleClass
    závěrečná třída

    Přidejte metody do definic tříd a stub funkce a procedury do modulů. Funkce jsou deklarovány pomocí klíčového slova Function, za nímž následuje název a sada parametrů oddělených čárkami uzavřenými v závorkách. Například:
    Funkce SampleFunction(a, b, c)
    koncová funkce
    Procedury jsou deklarovány podobně (pouze pomocí klíčového slova Sub):
    Dílčí vzorový postup(a,b)
    konec sub

    Deklarujte členy třídy a také globální a lokální (ve funkcích a metodách) proměnné. K tomu použijte klauzuli Dim...As (typ proměnné je uveden za klíčovým slovem As). Například deklarace proměnné oWB, která obsahuje odkaz na objekt knihy, může vypadat takto:
    Dim oWB jako Excel.Workbook
    Zadáním dimenze v závorkách můžete deklarovat pole:
    Dim aWBooks(10) Jako Excel.Workbook

    Implementujte algoritmus programu provedením změn v kódu funkcí, procedur, metod tříd. K řízení toku provádění použijte řídicí struktury jazyka Visual Basic. Pracujte s vlastními datovými strukturami, generovanými objekty formulářů a vestavěnými objekty aplikace Excel.

    Prameny:

    • jak vytvořit dokument v excelu

    Visual Basic je vývojové prostředí softwaru vyvinuté společností Microsoft, které obsahuje programovací jazyk. Zdědil styl a částečně i syntaxi svého předchůdce, jazyka BASIC. Vývojové prostředí Visual Basic obsahuje nástroje pro práci s návrhem uživatelského rozhraní.

    Budete potřebovat

    Návod

    Spusťte program Visual Studio, vytvořte projekt k vytvoření programu Visual Basic. Chcete-li to provést, vyberte nabídku „Soubor“ a v ní příkaz „Vytvořit projekt". V dialogovém okně vyberte možnost " Windows aplikace“ a klikněte na tlačítko „OK“. V rozhraní se otevře formulář. Výchozí projekt se bude jmenovat WindowsApplication1. Projekt jazyka Visual Basic je místo, kde jsou uloženy a organizovány části programu. Formulář, který se otevře při vytvoření projekt a, představuje okno, které se zobrazí při spuštění programu. Pokud je tedy v programu několik oken, pak v projekt Může obsahovat více forem.

    Přidejte ovládací prvky do formuláře z panelu nástrojů. Nachází se na levé straně okna a obsahuje několik záložek, včetně "Všechny formuláře", "Komponenty", "Data". Každá karta má specifickou sadu operací, které představují ovládací prvky nebo komponenty, které lze přidat do aplikace při jejím vytvoření. projekt a ve Visual Studiu.

    Vyberte panel nástrojů, klikněte na kartu Všechny formuláře a přetáhněte ovládací prvek Panel do levého horního rohu formuláře. Podobně se přesuňte na projekt Element programu Visual Basic "Text Area". Chcete-li změnit jeho polohu, jednoduše jej přetáhněte levým tlačítkem myši na požadované místo ve formuláři.

    Podobně přidejte tlačítka napravo od textového bloku. Dále vyberte položku, která odpovídá typu projekt ale například "Webový prohlížeč" a umístěte jej pod panel. Každý přidaný ovládací prvek obsahuje speciální kód, který určuje jeho vzhled a také úkoly, které tento prvek provádí. Můžete si vytvořit vlastní kód, například pro tlačítko pro změnu vzhledu, přidání konkrétního úkolu k provedení, ale je to pracný proces. Mnohem snazší toho dosáhnout pomocí úprav projekt a ve Visual Basicu.

    Dále proveďte nastavení vzhled programy, přidejte kód, který definuje jejich chování. Podle potřeby přidejte vlastní ovládací prvky. Dále proveďte zkušební provoz a otestujte svůj program, v případě potřeby se vraťte ke konstruktoru projekt a Visual Basic a opravte chyby.

    Související videa

    Hlavní účel aplikace společnosti Microsoft Kancelář – práce s daty v tabulkách. Zpravidla se jedná o číselná data, ale někdy buňky obsahují textové konstanty. Kromě toho je text použit také při návrhu tabulek, takže je třeba organizovat přenos podle slova se čas od času vyskytuje při práci a v tabulkovém editoru.

    Návod

    Spusťte Excel, načtěte do něj požadovaný dokument a přejděte k buňkám, pro které chcete nastavit možnost obtékání textu slova.

    Kromě tipů, jak se naučit psát VBA makra pro Excel, vám povím svůj příběh – jak jsem se naučil programovat ve VBA.

    Všechno to začalo v minulém století 1993 rok, kdy jsem chodil do školy. V hodinách informatiky byly v naší třídě příšerné počítače zvané Corvette a my jsme na nich psali jednoduché programy v BASICu. Tyto počítače se od „normálních“ (kompatibilních s IBM) lišily poměrně znatelně – měly monochromatický displej, zcela chyběl HDD a disketové mechaniky a jediné, co se na něm spustilo (automaticky, po načtení), byl interpret jazyka Basic.

    Vlastně jsem projevil zájem o programování již dříve - v 9 letech, když jsem v časopise "Modelář-konstruktér" pro rok 1988 (který jsem četl pravidelně, od začátku do konce) viděl nějaké strojové kódy pro počítač "Specialista" . Velmi mě pak zaujala možnost vrazit do počítače nějaká písmena a čísla, aby dělal, co chci. Bohužel, finanční situace mých rodičů v té době zůstala nedostatečná a koupě jakékoli podoby počítače nepřicházela v úvahu. Tak jsem se bavil opisováním těchto kódů z deníku do sešitu v naději, že jednou budu mít počítač a budu ho umět ovládat :)

    Protože v té době domácí počítač byl luxus (jen málokdo měl doma Spectrums a někdo měl to štěstí, že dostal drahý IBM PC 286), Basic jsem ovládal výhradně ve škole, po škole jsem se občas zdržel. školní osnovy byly poskytnuty pouze 2 roky studia v předmětu "Informatika" (ročníky 10 a 11), ale od dětství jsem se zajímal o všemožnou elektroniku, takže jsem začal navštěvovat kurzy od 8. třídy a četl jsem tam jedinou instruktážní knihu na Corvette (zde je tato kniha, se kterou moje cesta do programování začala, je i v PDF) a snaží se skládat jednoduché programy. Brzy mě učitelka začala pouštět před hlavní počítač (jen ten měl možnost ukládat programy na 5,25" disketu - a i tehdy jsem se na to musel hodně snažit) - a moje programy se značně zkomplikovaly. Jednou se mi dokonce podařilo implementovat hru "Poker". GUI(vyšlo asi 2000 řádků kódu) - a to i přesto, že interpret Basic umožňoval na obrazovce zobrazovat pouze symboly a grafická primitiva.
    Výsledkem je, že na konci školy ( 1996 rok) Dovedně jsem používal cykly a měl nějaké zkušenosti s kompilací algoritmů.

    Pokud jde o algoritmy, tento termín ve mně stále vyvolává alergii. Když jsem byl ve škole, na přednáškách o informatice (studoval jsem docela dobře a my, vítězové všech druhů olympiád, jsme byli posláni na doškolení vyšší matematiky a informatiky na částečný úvazek na Ural State University ), byli jsme nuceni psát algoritmy v nějakém pseudokódu (směsi ruštiny s Turbo Pascalem). Vzhledem k tomu, že jsem v programování znatelně zaostával za svými vrstevníky (oni studovali na počítačích kompatibilních s IBM, kde byl stejný Pascal a mnoho dalšího, a já kromě BASICu nic neuměl a neviděl), bylo velmi těžké zvládnout syntaxe algoritmického jazyka. Navíc jsem nepochopil (a stále nerozumím), proč potřebujete strávit hodinu sestavováním algoritmu pro nejjednodušší program, pokud stačí otevřít editor a napsat pár řádků kódu (pro mě, kdo ví anglický jazyk, syntaxe ZÁKLADNÍ jazyk mnohem jasnější než tento záhadný algoritmický pseudokód). O vývojových diagramech se vůbec nemluví - jak si pamatuji ústav, kde jsme byli nuceni kreslit vývojové diagramy (na několik listů formátu A4) pro nejjednodušší programy po 10 řádcích, už nechápu, jak touha učit se programovat nemůže po tom všem zmizet...

    Po absolvování školy jsem na institutu trochu studoval Turbo Pascal, na kterém se moje programátorské školení na desetiletí zastavilo (doma a v práci nebyl počítač) a zapomněl jsem téměř vše, co jsem se učil v hodinách informatiky.
    Nicméně, v 2004 roku se v mé práci úřady konečně rozhodly vyměnit psací stroj (na kterém jsem již velmi zručně bušil do kláves) za jednoduchý počítač (jednalo se o Pentium-1 s 64 MB RAM a Windows 98). Vzhledem k tomu, že jsem Windows viděl poprvé, musel jsem se naučit pracovat na počítači od nuly.

    Počítač jsem zvládl rychle, protože. již druhý den mi po neúspěšném pokusu o přetaktování procesoru spadl Windows a musel jsem akutně zvládnout přeinstalaci OS a programů. Člověk, který mi pomohl první den seznámení s počítačem nainstalovat operační systém a hlavní programy, mi nebyl schopen neustále pomáhat. Nechal mi distribuce Windows a Office, pár disků v různých utilitách, načež mi vysvětlil, jak vjíždět a formátovat text ve Wordu, jak otevírat a ukládat soubory přes nabídku programu, a odešel s přáním hodně štěstí . Nezbylo mi nic jiného, ​​než si systém osvojit „nahodile“.

    Jaké štěstí (po psacím stroji) byla možnost ukládat a upravovat tištěné dokumenty ... a vůbec mě nestydělo, že spuštění Wordu trvalo asi 20-30 sekund (a CorelDRAW načetl několik minut). Počítač se stal mým hlavním koníčkem - za pár měsíců jsem zvládl hlavní programy, o šest měsíců později jsem se šťoural v registrech, obnovoval nefunkční Windows (kdo si pamatuje Win98, pochopí mě). zvládl architekturu počítače (neustále jsem musel strkat paměťové moduly, připojovat další pevné disky, a tak dále.)

    Mým úkolem bylo připravovat různé dokumenty (úkony, příkazy atd.) a začal jsem přemýšlet, jak si to zjednodušit (nerad dělám každý den to samé). Téměř okamžitě jsem upozornil na položku „Editor jazyka Visual Basic“ v nabídce Microsoft Word a viděl jsem, co je to za bestii. Hádal jsem kolem sebe, díval se na vestavěnou nápovědu, ale málo rozuměl. Tento Basic se vůbec nepodobal tomu, který jsem studoval ve škole. Přišel jsem na to, že můžete kreslit formuláře pomocí tlačítek a textových polí, ale stále jsem nechápal, jak to udělat. Nebyl přístup k internetu, takže jsem se nemohl podívat na příklady použití.

    Takže bych tuhle firmu opustil, ale pak, jednoho krásného dne, Soubory aplikace Word se začaly pomalu otevírat a když byly otevřeny, začala vyskakovat nějaká chyba. Začal jsem chápat - a zjistil jsem, že chyba nastává při provádění makra o 20 řádcích, které záhadně skončilo ve všech mých dokumentech. Při pohledu na kód jsem si uvědomil, že přede mnou není nic jiného než makrovirus, který infikuje všechny otevřené soubory Wordu a neúspěšně se pokouší poslat nějaká data přes síť. (Mimochodem, toto bylo poprvé a naposledy, co jsem viděl makrovirus – od té doby tisíce Excel soubory a Word a nikdy jsem v nich neviděl makroviry). To mě zaujalo - pokud makro dokáže sbírat data z počítače, kopírovat se do jiných souborů a dokonce i něco posílat na jinou IP adresu, tak s pomocí maker můžete dělat téměř cokoliv!

    A začal jsem ovládat makra – četl jsem vestavěnou nápovědu VBA, zkoušel příklady kódu z této nápovědy, psal jednoduché smyčky (které jsem si pamatoval ze školy), kreslil jednoduché tvary atd. S hlavní silou jsem použil nahrávání maker ve Wordu, optimalizaci výsledného kódu. (Tehdy jsem s Excelem nepracoval - moc jsem nechápal, k čemu by to mohlo být užitečné). To přineslo malý užitek - ale bylo to pro mě zajímavé, protože. Programování se věnuji od střední školy. Postupně se moje práce začala zjednodušovat, i když automatizace zabrala více času, než ruční provedení všech akcí.

    Jednoho dne, v 2006 rok jsem opravdu potřeboval znalosti programování VBA. Pro práci bylo nutné vytvořit (nakreslit v CorelDRAW) spoustu stejných typů evakuačních plánů (jedná se o kresby místností se šipkami a konkrétními ikonami). Bylo možné je kreslit ručně, ale aby výsledek odpovídal GOST, bylo nutné dodržet různé proporce a vzdálenosti mezi prvky. Přesouvání ikon po listu, úprava vzdálenosti od čar a sousedních ikon „podle oka“ se rychle omrzela. A taky jsem musel vše zarovnat, rychle kreslit a krásně propojit tečkované čáry, pokaždé předtisknout a tak dále. atd. V důsledku toho, že jsem strávil 2 nebo 3 měsíce automatizací tohoto procesu, dosáhl jsem několikanásobného zkrácení času vytváření výkresu. Navíc bylo příjemné dívat se kolegům do tváří, když se před jejich očima děly zázraky - čáry se samy kreslily a posouvaly na obrazovce, šipky zarovnávaly a ohýbaly, vše blikalo a za minutu jsem už vytahoval disketu z počítače připravenou k odeslání do tiskárny (se dvěma kopiemi souboru připravenými k tisku)

    Venku bylo léto 2008 roku. Neměl jsem co dělat a rozhodl jsem se pomoci lidem, kteří hledají radu na fórech, s řešením problémů v Excelu. Rychle jsem se do toho zapojil – bylo příjemné slyšet vděčnost od lidí, kterým jsem kouzelné tlačítko» ušetřili mnoho hodin opakované práce. Nápověda navíc vyžadovala velmi málo úsilí – někdy stačilo napsat 2-3 řádky kódu. Pak jsem začal chápat, že ve VBA a Excel stále umím velmi, velmi špatně – a začal jsem se učit, chápat řešení nabízená zkušenějšími kolegy.

    Trvalo 2 nebo 3 roky, během kterých jsem pomáhal všem na fórech, než jsem se v Excelu začal cítit sebevědomě. Nejprve jsem psal velmi jednoduchá makra, pak složitější. O rok později mě začali oslovovat se zakázkami – tehdy jsem byl připraven pracovat za groš (protože cílem nebylo vydělávat peníze, ale pomáhat lidem). První víceméně vážná zakázka, za kterou jsem si vzal honorář, byl program pro pracovníky výběrové komise – musel jsem implementovat databázi v Excelu. Za 3 týdny trápení a úprav (program si objednala studentka, která sama přesně nevěděla, co potřebuje) byl program napsán – a já na něm vydělal asi 3500 rublů. Od té doby se studenty nepracuji - není dost peněz, chybí zadání, spousta žádostí o změnu (protože se učiteli něco nelíbilo) a obecně je nepříjemné si uvědomit, že program bude spuštěna pouze 1krát, a pak ji nikdo nepoužije.

    V 2009 rok jsem vytvořil webové stránky. Nazvat to webem bylo hodně – sestávalo to z jedné stránky (tady to tehdy vypadalo). Jak jste pochopili, z takového webu nemůže být žádný užitek - ti, kteří web navštívili, již věděli, co dělám. Chtěl jsem ale víc – aby byl web přínosem jak pro mě, tak pro jeho návštěvníky. Musel jsem proto urgentně nastudovat tvorbu webu a díky pomoci kamaráda web o pár měsíců později získal engine ve formě CMS Drupal(sám bych to nezvládl). Co zveřejnit na webu, to jsem ještě nezjistil, tak jsem to začal používat jako notebook- publikujte tam užitečná univerzální makra a funkce, abyste je nemuseli pokaždé hledat různé soubory, pamatovat si, kdy a komu jsem to udělal.

    Za méně než šest měsíců začala návštěvnost webu růst. Ukázalo se, že makra, která jsem nahrál, zajímají mnohé, a to mi dalo podnět k dalšímu rozvoji zdroje – začal jsem nahrávat řešení na klíč v podobě excelových souborů a doplňků věnujte větší pozornost funkčnosti a struktuře webu. Zároveň začaly narůstat objednávky – návštěvníci stránek viděli, že možností maker jsou nekonečné, a obrátili se na mě s prosbou o automatizaci jejich práce. Ale každopádně bylo příliš málo zakázek na to, aby bylo možné vážně uvažovat o programování jako o zdroji příjmu – byly to 2-3 malé zakázky měsíčně. I když si objednali poměrně složitý program, radost to nepřineslo - z nezkušenosti jsem hned vyjednal částku a pak z dobroty duše souhlasil různá vylepšení, které v původní úloze pro program chyběly. V důsledku toho jsem týdny pracoval na jednom programu a vydělával jsem velmi málo – protože se původně předpokládalo, že se toho dá udělat velmi málo.

    Tento čas (téměř rok) ale nebyl promarněný – nevydělal jsem si peníze, ale získal neocenitelné zkušenosti ve vývoji uživatelská rozhraní(Musel jsem nakreslit vstupní formuláře se stovkami polí), řešení nestandardních pro Excel úlohy(zpracování webu, práce se soubory, obrázky atd.), zároveň se naučit rozumět zákazníkům a jejich úkolům od půl slova (uh, měli jste vidět, jak někteří lidé formulují úkoly pro složité programy jednou větou z 10 slova...). Ještě jsem se nestal telepatem, ale začal jsem hádat, co zákazník skutečně chce, a nabízel jsem lidem přesně to, co potřebují (většina neví, co chtějí, když žádají o pomoc). A všechno by bylo v pořádku, nebýt nedostatku zakázek (do té doby začalo být pomáhání lidem na fóru otravné - každý den stejné otázky, nikdo nechce používat vyhledávání a překonávají i freeloader studenti).

    A začal jsem přemýšlet, jak zvýšit počet zakázek – chtěl jsem, aby můj koníček konečně začal přinášet hmatatelné příjmy. Znovu jsem se musel pustit do tvorby webu – abych zvládl základy SEO, designu a tvorby webu obecně. A jednoho dne jsem si uvědomil, co na webu stále chybí - velká tlačítka umístit objednávku. Bez přemýšlení dvakrát do 5 minut toto tlačítko (které nyní můžete rozjímat vlevo horním rohu stránky) byl přidán na všechny stránky webu. Výsledek na sebe nenechal dlouho čekat - do měsíce jsem dostal více objednávek než za celý předchozí rok.

    Přišel 2012 rok. Počet zakázek narostl do takového objemu, že jsem je sám zvládat nemohl. Část zakázek jsem začal převádět na své kolegy (zejména velké a složité zakázky), protože stále nemohu vydělat všechny peníze a opravdu se mi nechce celé dny sedět u monitoru. Po cestě, v hlavním zaměstnání (od 8:00 do 17:00 jsem pracoval jako inženýr v místního poskytovatele internetu) zátěž se znatelně zvýšila a přestal jsem mít čas zapisovat makra pracovní doba. Tím pádem nezbýval čas na rozvoj stránek – po večerech jsem stihl shrábnout jen část zakázek a v poště se začaly hromadit nepřečtené dopisy.

    Bylo na čase něco ve svém životě změnit – rozhodnout se mezi prací a programováním. A tak jsem se v polovině července 2012 rozhodl takto - v hlavním zaměstnání jsem napsal výpověď s rozhodnutím věnovat se programování (vývoj maker pro Excel). Od té doby mám volného času víc než dost, takže plánuji stránky opět rozšiřovat a aktivněji pracovat na objednávkách (abych se vyhnul situacím, kdy by zákazníci museli na svá makra čekat několik týdnů).
    Co z toho všeho vzejde - zatím nevím, ukáže čas. Myslím, že poptávka po makrech pro Excel bude ještě minimálně 2-3 roky pokračovat, takže bez chleba s máslem nezůstanu.

    V plánu na blízkou budoucnost je také vývoj a publikování sharewarových doplňků pro Excel (první pokusy o psaní v této oblasti přinesly dobré výsledky).
    A pak - plánuji vyvíjet databáze (s webovým rozhraním), a postupně přejít na práci s webovými službami.

    <спустя 4 года, решил продолжить статью>

    A teď na dvoře 2016 rok. K mé radosti Microsoft ještě nepřestal podporovat VBA v Excelu, takže v této oblasti pokračuji. Tyto 4 roky mi hodně změnily život - příjmy se několikanásobně zvýšily, začala jsem hodně cestovat, bylo méně času na práci. Zakázek na makra neustále přibývalo, a tak jsem začal spolupracovat s několika programátory, kterým jsem předával zakázky, když jsem to z nedostatku času sám nezvládl. Někteří moji kolegové (kterým jsem zadával zakázky) se postupem času vytratili, jiní se mnou naopak spolupracovali stále aktivněji - a teď mám tým, který řeší případné problémy (jeden kolega bere jednoduchá makra a vyrábí jsou rychlé, druhý pomocí nich vytváří složitá makra nestandardní řešení, třetí se zabývá „zablácenými“ hromadnými zakázkami, kde je potřeba pár týdnů diskutovat o úkolu, a pak to dělat další měsíc, čtvrtý se specializuje na vzorce, pátý nastavuje parsery atd. – každý má své vlastní pole působnosti).

    Sehnat dobrý tým nebyl snadný úkol – ačkoli jsem sám vlastně nikoho nehledal (polovina z nich se na mě obrátila o práci sama, zbytek jsem napsal sám, protože jsem všechny na fórech Excelu znal jako dobré specialisty) , nepodařilo se mi spolupracovat se všemi dlouho. Někteří se na síti objevovali jen zřídka a nereagovali dostatečně rychle na objednávky, jiní vnímali práci spíše jako koníčka (kdyby najednou nebyla chuť pracovat, mohl takový člověk zmizet na týden, ale i na měsíc, aniž by mě varoval popř. zákazník). Jeden snímek mě dokonce dokázal podvést o peníze (vzal několik objednávek a zmizel, aniž by mi zaplatil provizi). To vše je ale minulostí - nyní jsou se mnou pouze osvědčení kluci (se kterými pracuji již několik let), kteří přijímají zakázky jakékoliv složitosti a vždy práci dotáhnou do konce.

    Od té doby, co jsem se dokázal vypořádat s "churnem" ( velké množství malých zakázek, které sice přinášejí dobrý příjem, ale zabírají 100 % času), začal jsem se více věnovat vývoji a propagaci univerzálních doplňků pro Excel. Nyní mám ve svém arzenálu 9 takových doplňků, ale pouze 5 se úspěšně prodalo: FillDocuments (moje úplně první práce, až donedávna, patřila mezi lídry z hlediska příjmů a je stabilní poptávka, protože vše, co může být užitečné pro uživatele k vyplňování dokumentů tam již bylo implementováno) , PastePictures (v prodeji od roku 2012, ale popularitu si začal získávat relativně nedávno), Unification (před 3 lety to byl nejsložitější z mých programů), Lookup (nejjednodušší z mých add-ons, což je v podstatě náhrada za vzorec VLOOKUP – ale mezi uživateli velmi oblíbený) a Parser (univerzální parser pro sběr dat z webů a souborů, zatím nejpropracovanější z mých programů – 17 600 řádků kódu). Co se týče parseru, v roce 2013 se mi zdálo naprosto nereálné něco takového udělat (a odmítal jsem zákazníky s tím, že to nelze udělat řešení na jednom místě pro weby jako Unifikace - programy pro zpracování cen), ale pak začaly narůstat objednávky na parsery webů a rozhodl jsem se to zkusit, čehož jsem nikdy nelitoval - příjmy z řešení založených na tomto doplňku předčily všechna má očekávání.

    Ale ne všechny programy byly úspěšné. Obecně jsem odmítl prodat jeden program (YandexMarket) - stránka se měnila příliš často, program vyžadoval vylepšení, algoritmus pro vyhledání potřebných dat nebyl zřejmý, pak se objevil captcha - a rozhodl jsem se, že nemá cenu ztrácet čas další vývoj programy vrácením peněz několika kupujícím. Ostatní programy, jako jsou BarcodeScanner, Labels, SearchText, se sice vyplatily za čas strávený vývojem a nadále generují příjmy, ale s prvními pěti programy se nedají srovnávat.

    S vývojem výše popsaných univerzálních doplňků se vytvořil takzvaný "engine" programu - sada maker a prvků rozhraní, které vám umožní rychle vytvořit řešení připravené k prodeji z jakéhokoli nápadu. Nejprve byl engine potřeba pro podporu aktualizací (aby uživatel mohl zkontrolovat a nainstalovat aktualizaci jedním kliknutím), později získal ochrannou funkci (hackeři začali věnovat pozornost mým řešením, protože poptávka po nich každým rokem rostla - a musel jsem vymyslet různá schémata ochrana proti nelegálnímu použití, a to navzdory skutečnosti, že vestavěná ochrana kódu v Excelu není dobrá, protože je během několika sekund odstraněna). Po cestě jsem musel udělat funkcionalitu aktivace a aktualizace programů na straně webu - začal jsem trochu rozumět PHP a MySQL, vytvářet skripty, které interagují s programovým jádrem.

    Posledních pár let jsem většinu času trávil poskytováním technické podpory (každým rokem kupuje software více a více) a vývojem doplňku analyzátoru, který je nejoblíbenějším a nejslibnějším z mých řešení (I přidat nové funkce, publikovat příklady přizpůsobených analyzátorů). Moje úroveň programování, díky parseru a novému programovému enginu, výrazně vzrostla - ačkoli můj kód byl před 5 lety docela kvalitní a fungoval bez poruch, nyní přistupuji k návrhu kódu zodpovědněji a čelím potřebě za mnoho let podpory mých doplňků s mnoha tisíci řádky kódu. Nyní, spolu se zavedením nového (vícejazyčného) enginu ve všech doplňcích, refaktoruji (aktualizuji) kód, takže je jednodušší, přehlednější a univerzálnější. Mimochodem, o mnohojazyčnosti - rozhodl jsem se prodávat své doplňky mimo CIS a dokonce jsem vytvořil samostatný web (abych tam mohl zveřejňovat pouze univerzální doplňky s rozhraním a popisem v různých jazycích), ale zatím jsem' jsem příliš líný to udělat. Možná to někdy ruce dosáhnou (a zatím je dost kupců ze SNS)

    Plány do budoucna (od září 2016) jsou vyvinout směr parsování webů v Excelu a nakonec vytvořit video návody pro své programy (nejsem líný přidat do programu na několik týdnů nové funkce řada, zatímco uživatelé a oni si nemohou poradit se stávajícím, kvůli nedostatku úplné reference. No, nerad nahrávám videa))
    No, je čas vstoupit na mezinárodní trh, protože všechny moje programy se staly vícejazyčnými (ačkoli překlad je zatím pouze v angličtině a pak jen částečně)

    <продолжение следует>

    Excel 2000".

    Proč ne jen "World of Excel 2000"? Zřejmě proto, že se raději dívám na vše, co se děje v Excelu, z objektového hlediska, abych vše, co se děje, považoval za akce s objekty. A popisu objektů samotných je v této knize věnována poměrně velká pozornost. Do okruhu úvah přitom patří nejen objekty samotného Excelu. Svět objektů Excelu je širší. Tak či onak se v diskuzi objevují běžné objekty Office 2000, objekty jiných aplikací, v knize je například velká pozornost věnována vztahu Excelu a Accessu. Kromě objektů Excelu kniha podrobně rozebírá ještě dvě skupiny objektů – ADO a OWC. Objekty ADO, které vám umožňují organizovat přístup k databázím, jsou nepochybně součástí světa Excelu, protože Excel je nejčastěji aplikací, která zpracovává data uložená v různých zdrojích. Komponenty OWC, které mají funkce Excel, jsou jejich objektový model je také součástí světa objektů Excel. Tyto objekty jsou nepostradatelné, pokud se vaše řešení přesouvá na intranet nebo Internet a chcete vytvořit web, jehož stránky mají funkce dokumentů aplikace Excel.

    Co lze v této knize nalézt a komu je určena?

    Tato kniha je určena těm, kteří vytvářejí řešení založená na Excelu. Samozřejmě v první řadě mluvíme o těch, kteří již používají programování na VBA a VBScript při vytváření jejich řešení. Ale myslím si, že ti, co v Excelu pracují dlouho, ale ještě nepoužili softwarové způsoby ladění jejich řešení může začít touto knihou, i když vás varujeme, je potřeba určité znalosti programování.

    První dvě přednášky jsou věnovány počátkům programování v Excelu. Doufejme, že jsou k dispozici. pokročilé uživatele a začínající programátoři. Myslím, že si je se zájmem přečtou i ti, kteří učí programování v jakémkoli programovacím prostředí. Vyjadřuji a snažím se zde zdůvodnit „pobuřující“ myšlenku, že Excel je skvělé prostředí základní vzdělání programování na školách a univerzitách. Doufám, že i zkušení programátoři zde najdou něco užitečného, ​​zejména ve druhé kapitole, určené matematikům.

    Kapitola 3 uvádí popis objektu excelové modely. Podrobně jsou zvažováni všichni hlavní aktéři tohoto modelu - aplikace , sešit , pracovní list , graf , rozsah a další objekty. Je jasné, že zpřístupnění tohoto tématu se neobejde bez technických detailů, takže čtení kapitoly je poměrně zdlouhavé, ale jako referenční materiál doufám bude velmi užitečné.

    Databáze a další zdroje dat jsou jedním z hlavních témat této knihy. Kapitola 4 "Excel a databáze" začíná toto téma. Tato kapitola představuje Přístupová aplikace, příklad ukazuje, jak se v Accessu vytváří databáze, zkoumá vztah mezi Excelem a Accessem.

    Pátá a šestá kapitola knihy je věnována objektům ADO. O míře podrobností při úvaze o tomto tématu vypovídá skutečnost, že těmto objektům jsou věnovány dvě kapitoly. Objekty ADO poskytují rozhraní mezi širokou škálou zdrojů dat a klientskou aplikací, kde jsou data zpracovávána. Taková aplikace vůbec nemusí být Excel, rozsah objekty ADO mnohem širší. Excel je ale jedním z nejvhodnějších kandidátů na roli takové klientské aplikace. Čtení těchto kapitol vyžaduje určitou přípravu a je zaměřeno na pokročilejší programátory.

    Sedmá kapitola knihy je věnována vývoji interaktivních dokumentů. V určitém smyslu je ústřední. Provede vás celým procesem vytváření interaktivního dokumentu aplikace Excel. Tento dokument lze považovat za příklad typického řešení vytvořeného v Excelu, ve kterém hraje určující roli softwarový projekt. Navrhované řešení využívá ke komunikaci s databází databázi Accessu a objekty ADO. Pojednává také o řadě dalších otázek, které jsou důležité v praktická práce od organizace uživatelského rozhraní až po získání tištěná forma dokument.

    Kapitola 8 je věnována problémům, které vyvstávají při analýze kancelářských činností. Pokouší se zkombinovat smysluplné úvahy, například jak provést analýzu „Co když...“, s úvahami o Excel nástroje použité v této analýze. Zde jsou zvažovány kontingenční tabulky a konsolidované diagramy, scénáře, předpovědní metody a mnoho dalšího.

    Devátá kapitola podrobně rozebírá tvorbu projektu s názvem „MasterF“. Z věcného hlediska je problém zvažován optimální volba investiční investice. Konstrukční řešení využívá výkonnou vestavbu nástroj excel- řešitel Řešitel, který umožňuje řešit složité optimalizační problémy. Tento projekt ukazuje, jak vytvořit doplněk k vestavěné sadě nástrojů Excel. Věřím, že pro toho, kdo řeší podobné problémy, může mít nejen vzdělávací, ale i praktickou hodnotu.

    Kapitola 10 představuje nové objekty úzce související s Excelem. Tato kapitola se zabývá komponentami Office Web Components – komponenty OWC. Podle mého názoru tyto komponenty jsou nejlepší produkt, vytvořený společností Microsoft v oblasti programování komponent. Dávají vám možnost přidávat funkce Excelu do vašich řešení, aniž byste používali Excel samotný nebo jiné. Kancelářské aplikace 2000. Hlavním účelem těchto komponent je poskytovat podnikovou práci s dokumenty na intranetech, což umožňuje vytvářet interaktivní webové stránky s funkcemi Excel. Při zvažování těchto komponent je věnována velká pozornost programová práce s těmito komponenty, možnosti nastavení softwaru Webové dokumenty, které používají tyto součásti.

    Kapitola 11 je úvodem do webu – programování. Podrobně probírám proces vytváření interaktivního webového dokumentu. klíčové slovo tady je " interaktivita„Protože celá tato kniha je celkově o tom, jak dát právo interaktivita vytvořené dokumenty. Kapitola je zcela nezávislá, ale ve skutečnosti je přirozeným pokračováním dvou témat probíraných v kapitolách 7 a 10, protože na jedné straně hovoříme o vytvoření interaktivního dokumentu, na straně druhé - webový dokument, jehož stránky mohou mít funkcionalitu Excelu. Podotýkám, že při zvažování vytvoření interaktivní fronty, pro školáky, ale nejen pro ně. Většina her patří do třídy „naučných“ her zaměřených na rozvoj logického myšlení. Mezi hrami jsou variace slavných her - Lines, Tetris, Digger, logické hry, slavná karetní hra "Flip Fool" a další hry.

    Na závěr předmluvy chci říci, že navrhovaný kurz úzce souvisí s knihami ze série „Kancelář programování", vydané nakladatelstvím "Ruské vydání". V textu mnoha kapitol jsou explicitní i implicitní odkazy:

    1. "VBA v Office 2000. Programování Office,
    2. „Vývojové nástroje pro programátora VBA“. kancelářské programování,
    3. Svět objektů Excelu 2000. Vývojové nástroje programátorů VBA.

    Je dobré, pokud čtenáři tyto knihy znají nebo absolvovali kurzy prvních dvou knih, ale není tomu tak povinný požadavek. Tento kurz můžete absolvovat sami. Dokonce řeknu, že jsem se snažil pokud možno zpřístupnit každou kapitolu k samostatnému čtení.

    Prosba ke čtenářům. Vzhledem k tomu, že kurz je postaven na základě dříve vydané knihy a nebyl téměř měněn, jsou možné „visící odkazy“, které mají smysl pouze pro knihu. Část obsahu je již zastaralá. Snažte se být k těmto nedostatkům shovívaví. Upřímně věřím, že hlavní obsah neztratil na hodnotě a může se hodit každému, kdo je nějak spjat s kancelářským programováním.