Objekt This je jedním z klíčových pojmů v programovacím jazyce VBA pro Excel. Představuje odkaz na aktuální instanci objektu a jeho použití umožňuje přístup k datům a metodám tohoto objektu.
V této příručce se podíváme na to, jak používat objekt This v VBA k práci s různými objekty aplikace Excel, jako jsou pracovní sešity, listy, rozsahy a další. Podíváme se na základní vlastnosti a metody objektu This a ukážeme také příklady jeho použití k řešení různých problémů.
Příklad: řekněme, že pracujete s makrem VBA, které by mělo změnit hodnotu konkrétní buňky v aktivním listu. Místo explicitního pojmenování listu můžete použít objekt This k odkazu na aktuální list a vyvolat příslušnou metodu ke změně hodnoty buňky.
V této příručce se podíváme na různé scénáře použití objektu This v kódu VBA Excel, které vám pomohou efektivněji pracovat s daty a objekty vašich pracovních knih.
Excel VBA: objekt This
Objekt"This" VBA představuje odkaz na aktuální objekt nebo modul kódu. Může být použit k oslovení vlastností, metod a událostí objektu a k oslovení proměnných a postupů modulu kódu.
Objekt "This" má různý význam v závislosti na kontextu použití. V některých případech odkazuje na aktuální objekt, jako je aktivní sešit nebo list aplikace Excel, aktivní buňku nebo konkrétní prvek uživatelského rozhraní. Jindy, když se" This " používá v modulu kódu nebo třídním modulu, odkazuje na samotný modul kódu nebo třídu.
Příklad použití "This" V VBA:
Sub Button_Click()' Обрабатываем событие нажатия кнопкиMsgBox "Нажата кнопка"Debug.Print ThisWorkbook.NameEnd SubSub Worksheet_SelectionChange(ByVal Target As Range)' Обрабатываем событие изменения выделенного диапазонаMsgBox "Изменен выделенный диапазон"Debug.Print This.NameEnd SubSub Test()' Используем «This» для обращения к переменной в модуле кодаDim name As Stringname = "John"Debug.Print This.nameEnd Sub
V prvním příkladu zpracujeme událost stisknutí tlačítka, která zobrazí zprávu a zobrazí název aktivní knihy Excel. Ve druhém příkladu zpracujeme událost změny zvýrazněného rozsahu na listu a zobrazíme zprávu a také název aktivního listu. Ve třetím příkladu použijeme " This "k oslovení proměnné" name " v modulu kódu a vygenerujeme její hodnotu.
Objekt "This" poskytuje pohodlný způsob, jak přistupovat k aktuálnímu objektu nebo modulu kódu VBA. Umožňuje flexibilnější manipulaci s daty a aktivitami v programu vzhledem k kontextu použití.
Část 1: Základy použití objektu This
V Excelu VBA je objekt This odkaz na aktuální objekt nebo modul, ve kterém se používá. Každý objekt a modul VBA má přístup k objektu This , který lze použít k přístupu k vlastnostem a metodám tohoto objektu.
Objekt This je zvláště užitečný, když je nutné odkazovat na Vlastnosti nebo metody zevnitř objektu nebo modulu, abyste se obrátili na jiné části kódu nebo proměnné, které jsou součástí tohoto objektu.
Například uvnitř objektu Worksheet lze použít objekt This k oslovení vlastností a metod tohoto objektu. To usnadňuje provádění akcí s aktuálním listem nebo přístup k buňkám a rozsahům, aniž byste explicitně specifikovali objekt Worksheet .
Použití objektu This také usnadňuje čtení a pochopení kódu, protože zvýrazněné slovo This jasně označuje, na který objekt nebo modul odkazujete. To je zvláště důležité, když má váš projekt více objektů nebo modulů se stejnými názvy.
Objekt This lze také použít v modulech třídy pro přístup k vlastnostem a metodám této třídy. Umožňuje objektu třídy obrátit se na své vlastní vlastnosti a metody a na vše, co obsahuje.
Na závěr, objekt This je výkonný nástroj v Excelu VBA, který poskytuje přístup k aktuálnímu objektu nebo modulu v kódu. Díky tomu je Kód srozumitelnější, usnadňuje interakci s jinými částmi kódu a usnadňuje čtení a porozumění kódu.
Příklady použití objektu This v Excelu VBA
Objekt This v Excelu VBA je odkaz na aktuální instanci třídy nebo modulu a lze jej použít k přístupu k vlastnostem a metodám této instance. V této části se podíváme na několik příkladů použití objektu This v Excelu VBA.
-
Použití This pro přístup k vlastnostem formuláře nebo listu. Při práci s formami nebo listy v Excelu VBA, můžete použít objekt This pro přístup k jejich vlastnostem a metodám. Chcete-li například získat přístup k vlastnostem Caption (záhlaví) formuláře, můžete použít následující kód:
MsgBox This.Caption
Sub MySub(ByRef myParam As String)MsgBox "Значение параметра: " & myParamEnd SubSub MyOtherSub()Dim myVar As StringmyVar = "Привет от объекта This!"This.MySub myVarEnd Sub
Class MyClassPublic Sub SayHello()MsgBox "Привет от объекта This!"End SubEnd Class
Chcete-li vyvolat metodu SayHello, můžete vytvořit instanci třídy a použít objekt This:
Sub MySub()Dim myObject As New MyClassThis.SayHelloEnd Sub
Všechny tyto příklady ukazují důležitost objektu This v Excelu VBA a jeho flexibilitu při práci s třídami, tvary a listy. Vývojáři mohou použít objekt This k získání přístupu ke kontextu, metodám a vlastnostem aktuální instance, díky čemuž je programování VBA pohodlnější a efektivnější.
Oddíl 2: pokročilé funkce objektu This
Pokročilé funkce objektu This umožňují vývojářům používat jej nejen pro práci s jedním objektem, ale také pro interakci s jinými objekty, vytváření složitých Maker a automatizaci rutinních operací.
Pomocí objektu This lze například přistupovat k vlastnostem a metodám jiného objektu pomocí syntaxe This.. . Tímto způsobem lze vytvářet řetězce akcí tím, že se postupně obracíte k objektům a jejich vlastnostem a metodám.
Objekt This navíc umožňuje přenést hodnotu jedné vlastnosti nebo metody na jiný objekt. Například je možné předat hodnotu vlastnosti jednoho objektu metodě jiného objektu pomocí syntaxe Jiného_objekt. = This. . To může být užitečné, pokud je třeba použít hodnotu vlastnosti jednoho objektu jinde v programu.
Objekt This lze také použít k vytváření událostí a zpracování událostí jiných objektů. Můžete například vytvořit metodu v objektu, která bude vyvolána, když dojde k určité události v jiném objektu. K tomu je třeba připnout metodu objektu This k události jiného objektu pomocí syntaxe Jiného_objekt. = AddressOf This. .
V důsledku toho pokročilé funkce objektu This umožňují vývojářům efektivně jej používat k práci s objekty a vytváření složitějších Maker a skriptů v Excelu VBA.
Příklady použití objektu This ve složitých scénářích
Objekt This v programovacím jazyce VBA je odkaz na aktuální instanci objektu. Umožňuje pracovat s daty a metodami tohoto objektu uvnitř jeho vlastního kódu. Podívejme se na několik příkladů použití objektu This ve složitých scénářích.
1. Použití This pro přístup ke sdíleným datům
Jedním z praktických úkolů je pracovat se společnými daty mezi různými moduly a postupy. Objekt This umožňuje ukládat a přijímat hodnoty proměnných uvnitř objektu. Pokud máte například třídu, která je formulář, můžete data uložit do proměnné objektu This a přistupovat k ní z různých metod.
Private Sub btnSave_Click()This.Name = "John"This.Age = 30End SubPrivate Sub btnDisplay_Click()MsgBox "Name: " & This.Name & vbNewLine & "Age: " & This.AgeEnd Sub
2. Použití This pro přístup k jiným metodám objektu
Objekt This umožňuje vyvolat jiné metody objektu zevnitř jeho vlastních metod. Můžete mít například metodu, která provádí složitou operaci, a jinou metodu, která tento výsledek zobrazuje. Objekt This můžete použít k vyvolání první metody z druhé.
Private Sub Calculate()' Сложная операция вычисленияThis.Result = 10End SubPrivate Sub DisplayResult()' Отображение результатаMsgBox "Result: " & This.ResultEnd SubPrivate Sub btnCalculate_Click()This.CalculateThis.DisplayResultEnd Sub
3. Použití This pro přístup k dalším vlastnostem objektu
Objekt This umožňuje přístup k dalším vlastnostem objektu. Můžete mít například třídu, která je datovou tabulkou, a tato třída může mít vlastnosti, jako je počet řádků nebo sloupců. Objekt This můžete použít k přístupu k těmto vlastnostem z jiných metod.
Public Property Get ColumnCount() As IntegerColumnCount = This.Cells(1, 1).CurrentRegion.Columns.CountEnd PropertyPublic Property Get RowCount() As IntegerRowCount = This.Cells(1, 1).CurrentRegion.Rows.CountEnd PropertyPublic Sub DisplayTableInfo()MsgBox "Table has " & This.RowCount & " rows and " & This.ColumnCount & " columns."End Sub
Použití objektu This ve složitých scénářích je mocným nástrojem, který usnadňuje přístup k datům a metodám aktuálního objektu. Umožňuje, aby byl kód organizovanější a snadno srozumitelný.