Na pridanie dialógových okien do makier Excelu 2013 môžete použiť funkciu InputBox. Keď spustíte makro, táto funkcia jazyka Visual Basic spôsobí, že Excel zobrazí dialógové okno Vstup, kde môžete zadať akýkoľvek názov, ktorý má zmysel pre nový pracovný hárok. Makro potom vloží tento text do aktuálnej bunky a naformátuje tento text, ak je to to, na čo ste svoje makro ďalej natrénovali.
Ak chcete vidieť, aké ľahké je použiť funkciu InputBox na pridanie interaktivity do inak nehybného makra, postupujte podľa krokov na konverziu makra Company_Name, ktoré aktuálne zadáva text „Mind Over Media“ na také, ktoré vás skutočne vyzve na zadanie požadovaného názvu. zadané. Funkcia InputBox používa nasledujúcu syntax:
InputBox(výzva[,názov][,predvolené][,xpos][,ypos][,súbor pomoci,kontext])
V tejto funkcii sa vyžaduje iba argument prompt, pričom ostatné argumenty sú voliteľné. Argument výzvy určuje správu, ktorá sa zobrazí v dialógovom okne Vstup, ktorá používateľa vyzve na zadanie novej hodnoty (alebo v tomto prípade nového názvu spoločnosti).
Argument výzvy môže mať maximálne 1 024 znakov. Ak chcete, aby sa výzva objavila na rôznych riadkoch v dialógovom okne, zadajte do textu funkcie Chr(13) a Chr(10) (pre vloženie konca riadka a posunu riadku do správy).
Voliteľný argument title určuje, aký text sa má zobraziť v záhlaví dialógového okna Vstup. Ak nezadáte argument názvu , Excel zobrazí názov aplikácie v záhlaví. Voliteľný predvolený argument určuje predvolenú odpoveď, ktorá sa automaticky zobrazí v textovom poli v spodnej časti dialógového okna Vstup.
Ak nešpecifikujete predvolený argument, textové pole bude v dialógovom okne Vstup prázdne.
Tieto Xpose a ypozice voliteľné argumenty určiť horizontálna vzdialenosť od ľavého okraja obrazovky k ľavému okraju dialógového okna a vertikálna vzdialenosť od horného okraja obrazovky na hornom okraji dialógového okna. Ak tieto argumenty nešpecifikujete, Excel vycentruje vstupné dialógové okno horizontálne a umiestni ho vertikálne približne do jednej tretiny dole na obrazovke.
Súbor pomocníka a voliteľné argumenty kontextu určujú názov vlastného súboru pomocníka, ktorý sprístupníte používateľovi, aby vysvetlil fungovanie dialógového okna Vstup, ako aj typ údajov, ktoré prijíma.
V rámci procesu vytvárania vlastného súboru pomocníka na použitie v systéme pomocníka programu Excel priradíte téme kontextové číslo zodpovedajúce jej obsahu, ktoré sa potom zadá ako kontextový argument pre funkciu InputBox.
Keď zadáte súbor pomocníka a kontextový argument pre túto funkciu, Excel pridá tlačidlo Pomocník do vlastného dialógového okna Vstup, na ktoré môžu používatelia kliknúť, aby získali prístup k vlastnému súboru pomocníka v okne Pomocníka.
Pred pridaním riadku kódu do makra pomocou funkcie InputBox musíte v príkazoch jazyka Visual Basic nájsť miesto, kam má riadok smerovať. Na zadanie textu Mind Over Media do aktívnej bunky makro Company_Name používa nasledujúci príkaz jazyka Visual Basic:
ActiveCell.FormulaR1C1 = "Mind Over Media"
Ak chcete do makra pridať interaktivitu, musíte vložiť funkciu InputBox na riadok v okne Kód priamo nad týmto príkazom ActiveCell.FormulaR1C1, a to nasledovne:
Umiestnite kurzor v okne Kód na začiatok príkazu ActiveCell.FormulaR1C1 a stlačením klávesu Enter vložte nový riadok.
Teraz, keď ste pridali nový riadok, musíte naň presunúť kurzor.
Stlačením klávesu so šípkou nahor umiestnite kurzor na začiatok nového riadku.
V tomto riadku chcete vytvoriť premennú, ktorá dodáva argument prompt pre funkciu InputBox. Za týmto účelom uvediete názov premennej (v tomto prípade InputMsg), za ktorým nasleduje jej aktuálny záznam. Nezabudnite uzatvoriť text správy na pravej strane znamienka rovnosti do dvojitých úvodzoviek.
Zadajte nasledujúci kód na vytvorenie premennej InputMsg v riadku 8 a potom stlačením klávesu Enter začnite nový riadok 9:
InputMsg = "Zadajte názov spoločnosti alebo názov pre tento pracovný hárok do textového poľa nižšie a potom kliknite na OK:"
Ďalej vytvoríte premennú s názvom InputTitle, ktorá poskytuje voliteľný argument title pre funkciu InputBox. Táto premenná spôsobí, že sa text „Názov tabuľky“ zobrazí ako názov dialógového okna Vstup. Opäť nezabudnite uviesť názov záhlavia dialógového okna do úvodzoviek.
Zadajte nasledujúci kód na vytvorenie premennej InputTitle na riadku 9 a potom stlačením klávesu Enter vložte nový riadok 10:
InputTitle = "Názov tabuľky"
Ďalej vytvoríte názov premennej DefaultText, ktorý dodal voliteľný predvolený argument pre funkciu InputBox. Táto premenná spôsobí, že text „Mind Over Media“ sa zobrazí ako predvolená položka v textovom poli v spodnej časti dialógového okna na zadanie vlastného názvu spoločnosti.
Zadajte nasledujúci kód na vytvorenie premennej DefaultText na riadku 10 a potom stlačte kláves Enter, aby ste vložili nový riadok 11:
Predvolený text = "Mind Over Media"
Ďalej vytvoríte konečnú premennú s názvom CompanyName, ktorá špecifikuje funkciu InputBox ako svoj záznam (pomocou premenných InputMsg, InputTitle a DefaultText, ktoré ste práve vytvorili) a uloží výsledky tejto funkcie.
Zadajte nasledujúci kód na vytvorenie premennej SpreadsheetTitle, ktorá používa funkciu InputBox na riadku 11:
SpreadsheetTitle = InputBox (InputMsg, InputTitle, DefaultText)
Nakoniec nahradíte hodnotu „Mind Over Media“ vo vlastnosti ActiveCell.FormulaR1C1 premennou SpreadsheetTitle (ktorej hodnota je určená čímkoľvek, čo sa zadá do dialógového okna Zadanie názvu tabuľky), čím sa táto konštanta v makre efektívne nahradí prostriedky na to, aby bol tento vstup skutočne interaktívny.
V riadku 12 vyberte „Mind Over Media“ a nahraďte ho textom SpreadsheetTitle (bez úvodzoviek).
Upravené makro uložte kliknutím na tlačidlo Uložiť na paneli s nástrojmi jazyka Visual Basic a potom sa vráťte do pracovného hárka kliknutím na tlačidlo Zobraziť Microsoft Excel alebo stlačením Alt+F11. Potom kliknite na tlačidlo Skryť v skupine Okno na karte ZOBRAZENIE.
Teraz ste pripravení otvoriť nový zošit a spustiť upravené makro stlačením Ctrl+N.
Na obrázku je zobrazené okno Kód s upraveným makrom Company_Name po pridaní príkazov, vďaka ktorým je interaktívne.
Nasledujúci obrázok zobrazuje dialógové okno Názov tabuľky v akcii v pracovnom hárku. Toto vstupné dialógové okno sa teraz automaticky zobrazí a vyzve vás na zadanie vždy, keď spustíte upravenú a teraz plne interaktívnu verziu makra Company_Name.
Ak chcete pokračovať a zadať Mind Over Media do aktuálnej bunky a potom ju naformátovať pomocou ostatných príkazov makra, stačí kliknúť na tlačidlo OK v tomto vlastnom dialógovom okne. Ak chcete zadať a naformátovať názov inej spoločnosti, jednoducho napíšte názov spoločnosti (ktorý automaticky nahradí Mind Over Media v textovom poli) pred kliknutím na tlačidlo OK.