Textová pole (Textbox) v aplikaci VBA Excel se používají k zadávání a zobrazení textu uživatelem. Mohou být velmi užitečné při vytváření uživatelského rozhraní, kde uživatel bude muset zadat informace, jako je jeho jméno nebo e-mailová adresa. V tomto článku se podíváme na několik metod práce s textovými poli v aplikaci VBA Excel.
Vytvoření textového pole: Chcete-li vytvořit textové pole v aplikaci VBA Excel, musíte použít objekt UserForm a jeho vlastnost TextBox. Příklad kódu:
Dim MyTextBox as Object
Set MyTextBox = UserForm1.Controls.Add("Forms.TextBox.1")
MyTextBox.Name = "TextBox1"
MyTextBox.Top = 10
MyTextBox.Left = 10
MyTextBox.Width = 100
MyTextBox.Height = 20
MyTextBox.Value = "zadejte text"
Získání hodnoty z textového pole: Chcete-li získat hodnotu zadanou uživatelem do textového pole, musíte se podívat na vlastnost Value tohoto pole. Příklad kódu:
Dim MyValue as String
MyValue = UserForm1.TextBox1.Value
Změna hodnoty textového pole: Pokud potřebujete změnit hodnotu v textovém poli, můžete mu jednoduše přiřadit novou hodnotu. Příklad kódu:
UserForm1.TextBox1.Value = "nová hodnota"
Toto jsou pouze některé metody práce s textovými poli v aplikaci VBA Excel. Použijte je k vytvoření interaktivnějších a funkčních uživatelských rozhraní vašich aplikací Excel.
Funkce pro práci s textovými poli VBA Excel
Jednou z funkcí práce s textovými poli je jejich propojení s buňkami tabulky aplikace Excel. Každé textové pole je spojeno s konkrétní buňkou a jakékoli změny provedené uživatelem v textovém poli se automaticky odrážejí v propojené buňce. To umožňuje použití textových polí pro zadávání a úpravy dat, která pak lze snadno zpracovat v makrech.
Pro práci s textovými poli používá VBA Excel objektové modelování. Každé textové pole je instance objektu třídy TextBox. Pro přístup k vlastnostem a metodám textového pole je nutné se obrátit na příslušný objekt TextBox. K získání textu zadaného do textového pole lze například použít vlastnost Text objektu TextBox.
Kromě toho lze textová pole v aplikaci VBA Excel nakonfigurovat pomocí různých vlastností. Můžete například nastavit limit délky textu, nastavit specifickou vstupní masku, nastavit typ dat a další. Tyto vlastnosti umožňují ovládat uživatelská data a umožňují přesnější zpracování textu v makrech a aplikacích.
| Vlastnost | Popis |
|---|---|
| Text | Vrátí nebo zadá text zadaný uživatelem do textového pole. |
| MaxLength | Vrátí nebo nastaví maximální délku textu, kterou lze zadat do textového pole. |
| Mask | Vrátí nebo nastaví vstupní masku omezením datového typu a formátu textu. |
| Value | Vrátí nebo nastaví hodnotu textového pole v buňce tabulky aplikace Excel. |
Práce s textovými poli v aplikaci VBA Excel vám umožní zlepšit uživatelské rozhraní a učinit makra a aplikace pohodlnějšími a funkčnějšími. Správné použití textových polí s přihlédnutím k jejich vlastnostem umožňuje ovládat zadaná data, zpracovávat je a používat je v další práci s tabulkami a zprávami aplikace Excel.
Část 1: Metody práce s textovými poli
1. Metody pro získání a nastavení hodnoty textového pole:
- .Hodnota je vlastnost, která umožňuje získat nebo nastavit hodnotu textového pole. Chcete-li například získat hodnotu textového pole, můžete použít následující kód: Dim textValue As String textValue = TextBox1.Value
- .Text je alternativní vlastnost pro získání a nastavení hodnoty textového pole. Obvykle se používá místo vlastností .Value v textových polích. Chcete-li například nastavit hodnotu textového pole, můžete použít následující kód: TextBox1.Text = " Ahoj, světe!"
2. Metoda čištění textového pole:
- .Clear je metoda, která umožňuje vymazat obsah textového pole. Chcete-li například vymazat textové pole, můžete použít následující kód: TextBox1.Clear
3. Metody pro práci s vybraným textem:
- .SelText je vlastnost, která umožňuje získat nebo nastavit vybraný text v textovém poli. Chcete-li například získat zvýrazněný text, můžete použít následující kód: Dim selectedText As String selectedText = TextBox1.SelText
- .SelStart je vlastnost, která umožňuje získat nebo nastavit výchozí pozici vybraného textu v textovém poli. Chcete-li například nastavit výchozí pozici zvýrazněného textu, můžete použít následující kód: TextBox1.SelStart = 5
- .SelLength je vlastnost, která umožňuje získat nebo nastavit délku zvýrazněného textu v textovém poli. Chcete-li například nastavit délku zvýrazněného textu, můžete použít následující kód: TextBox1.SelLength = 10
4. Metody pro práci s výběrem textu v textovém poli:
- .SetFocus je metoda, která umožňuje nastavit zaměření na textové pole. Chcete-li například nastavit zaostření na textové pole, můžete použít následující kód: TextBox1.SetFocus
- .Cut je metoda, která umožňuje vystřihnout vybraný text z textového pole. Chcete-li například vystřihnout zvýrazněný text, můžete použít následující kód: TextBox1.Cut
- .Copy je metoda, která Vám umožňuje zkopírovat vybraný text z textového pole. Chcete-li například zkopírovat vybraný text, můžete použít následující kód: TextBox1.Copy
- .Paste je metoda, která umožňuje vložit zkopírovaný nebo vystřižený text do textového pole. Chcete-li například vložit text ze schránky, můžete použít následující kód: TextBox1.Paste
V této části jsme se zabývali základními metodami práce s textovými poli v aplikaci VBA Excel. Pomocí těchto metod můžete vytvářet funkčnější aplikace, které uživateli usnadňují práci s textovými daty.
Vytvoření textového pole
Chcete-li vytvořit textové pole, musíte postupovat podle následujících kroků:
- Otevřete režim úpravy formuláře v aplikaci VBA Excel.
- Vyberte oblast, ve které bude textové pole umístěno.
- Vložit objekt třídy TextBox do vyhrazené oblasti.
- Upravit nastavení textového pole, jako je velikost, poloha, vlastnosti písma atd.
Příklad vytváření textového pole VBA Excel:
Dim TextBox1 As Object
Set TextBox1 = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 25)
TextBox1.Text = "Zadejte text"
V tomto příkladu:
- Je vytvořen objekt TextBox1 třídy TextBox .
- Pomocí metody AddTextbox objektu třídy Shapes se vytvoří textové pole s danými souřadnicemi a rozměry (100, 100, 200, 25).
- Vlastnost Text objektu TextBox1 je přiřazena k hodnotě "zadejte text".
Po dokončení tohoto kódu se na aktivním listu aplikace Excel zobrazí textové pole se zadaným textem a zadanými možnostmi.
Změna vlastností textového pole
V jazyce VBA jsou pro práci s textovými poli (Textbox) k dispozici různé vlastnosti, které umožňují měnit a spravovat jejich vzhled a funkčnost.
Jednou z hlavních vlastností textového pole je jeho textový obsah. Pro změnu této Vlastnosti, VBA používá vlastnost Text. Chcete-li například nastavit textové pole "TextBox1" na rovný řádek " Ahoj světe!", lze použít následující kód:
TextBox1.Text = "Привет, мир!"
Kromě toho lze změnit i další Vlastnosti textového pole. Například vlastnost Width umožňuje nastavit šířku textového pole na určité jednotky měření (například pixely nebo procenta). Příklad použití:
TextBox1.Width = 200 ' устанавливаем ширину текстового поля равной 200 пикселей
Stejně tak vlastnost Height umožňuje nastavit výšku textového pole:
TextBox1.Height = 100 ' устанавливаем высоту текстового поля равной 100 пикселей
Existuje také vlastnost Enabled, který umožňuje povolit nebo zakázat uživatelskou interakci s textovým polem. Chcete-li například zakázat možnost úpravy textu v poli "TextBox1", můžete použít následující kód:
TextBox1.Enabled = False ' отключаем редактирование текста
A nakonec vlastnost Visible umožňuje skrýt nebo zobrazit textové pole ve tvaru. Příklad použití:
TextBox1.Visible = False ' скрываем текстовое поле
To jsou však jen některé z vlastností dostupných pro změnu textového pole VBA. Pomocí těchto vlastností a dalších funkcí jazyka VBA lze snadno přizpůsobit textová pole v Excelu vašim potřebám.
Správa obsahu textového pole
Textová pole (Textbox) v aplikaci VBA Excel umožňují uživateli zadávat a zobrazovat textové informace. Jsou široce používány k vytváření uživatelských rozhraní a práci s daty.
Pro správu obsahu textového pole v aplikaci VBA Excel lze použít různé metody:
- Zadání hodnoty pole: Pomocí vlastností .Text lze nastavit na hodnotu textového pole. Například:
- Získání hodnoty pole: Chcete-li získat hodnotu textového pole, musíte použít vlastnost .Text . Například:
Poznámka: Hodnotu textového pole lze použít v další práci s daty, jako jsou výpočty nebo vkládání dat do buněk tabulky.
- Čištění pole: Metoda .Clear umožňuje vymazat obsah textového pole. Například:
- Zastavení úprav: Metoda .Enabled umožňuje zakázat úpravy textového pole. Například:
Poznámka: Po zákazu úprav bude textové pole zobrazovat hodnotu, ale uživatel ji nebude moci změnit.
- Skrytí pole: Metoda .Visible umožňuje skrýt textové pole. Například:
Poznámka: Po skrytí textového pole se nezobrazí na uživatelském rozhraní, ale jeho hodnotu lze stále získat nebo programově změnit.
Pomocí těchto metod lze snadno spravovat obsah textových polí v aplikaci VBA Excel, čímž je uživatelské rozhraní pohodlnější a funkčnější.