V Excelu VBA, funkce Lib umožňuje volat externí knihovny a používat jejich funkčnost ve vašich makrech. To je velmi užitečné, pokud chcete rozšířit možnosti aplikace Excel a použít kód třetí strany.
Oznámení funkce Lib však nemusí být pro nováčky snadný úkol. V této příručce se podíváme na to, jak oznámit funkci Lib a příklady jejího použití.
Oznámení funkce Lib vyžaduje zadání názvu knihovny a názvu funkce a seznamu argumentů a typu návratové hodnoty.
Chcete-li například vyhlásit funkci Lib, musíte použít klíčové slovo Declare a v uvozovkách zadat název knihovny, název funkce a seznam argumentů přes čárku. Poté byste měli určit typ vrácené hodnoty pomocí klíčového slova As.
Příklad oznámení funkce Lib:
Private Declare Function Funkce Lib "Název Knihovny" (Argumenty) As Typ_vroužkovatelné_místné
Jak vytvořím funkci Lib v Excelu VBA?
Chcete-li vytvořit funkci Lib v Excelu VBA, postupujte podle následujících kroků:
- Identifikujte prototyp funkce: Prototyp funkce obsahuje informace o vstupních a výstupních parametrech a typu návratové hodnoty. Musíte znát přesný název funkce, její parametry a typ vrácené hodnoty.
- Oznamte funkci: K oznámení funkce Lib použijte klíčové slovo Declare. Zadejte název funkce, její parametry a typ návratové hodnoty a cestu ke knihovně nebo souboru DLL.
- Použijte funkci: Nyní můžete funkci Lib použít ve svém kódu Excel VBA jako běžnou funkci. Stačí ji zavolat jménem a předat požadované parametry.
Níže je uveden příklad reklamy a použití funkce Lib:
Declare Function SomeFunction Lib "C:\Path\To\Library.dll" (ByVal param1 As Integer, ByVal param2 As String) As DoubleSub UseSomeFunction()Dim result As Doubleresult = SomeFunction(123, "Hello")MsgBox "Результат: " & resultEnd Sub
V tomto příkladu je funkce SomeFunction oznámena pomocí klíčového slova Declare. Nachází se v knihovně Library.dll, který je ve složce "C:\Path\To\". Funkce přijímá dva parametry – celé číslo (param1) a řádek (param2) - a vrací hodnotu typu Double.
Funkce UseSomeFunction používá funkci SomeFunction a zobrazuje výsledek ve zprávě MsgBox. Můžete změnit nastavení a typ vrácené hodnoty podle požadavků vaší knihovny.
Nyní víte, jak vytvořit funkci Lib v Excelu VBA a používat funkce a metody z knihoven třetích stran nebo souborů DLL. Využijte tuto příležitost k rozšíření funkčnosti vašich Maker a automatizaci aplikace Excel.
Otevřete Editor VBA v Excelu
Pokud používáte Excel verze 2007 a vyšší, musíte postupovat podle následujících kroků:
- Otevřete sešit aplikace Excel, ve kterém chcete deklarovat funkci Lib.
- Klikněte na kartu Vývojář v horní liště nabídky aplikace Excel. Pokud karta Vývojář neexistuje, musíte ji povolit.
- Ve skupině " kód "klikněte na tlačítko"Editor VBA".
Po dokončení těchto kroků se otevře editor VBA, ve kterém budete moci vytvářet a upravovat makra a funkce.
Pokud používáte starší verzi Excelu, musíte postupovat podle následujících kroků:
- Otevřete sešit aplikace Excel, ve kterém chcete deklarovat funkci Lib.
- Klikněte na nabídku Nástroje a vyberte položku Makra a dále Editor VBA.
Nyní jste připraveni oznámit funkci Lib v editoru VBA a začít ji používat ve svých makrech a projektech VBA v Excelu.
Vyberte modul, ve kterém chcete vytvořit funkci
Chcete-li vytvořit funkci v Excelu VBA, musíte vybrat modul, ve kterém bude umístěna. Modul je samostatný kódový blok, ve kterém lze kombinovat jednotypové operace a funkce.
Chcete-li otevřít editor kódu a vybrat modul, postupujte takto:
- Otevřete Excel.
- Na panelu nástrojů vyberte kartu Vývojář. Pokud se karta Vývojář nezobrazí, otevřete ji následovně: klikněte pravým tlačítkem na panelu nástrojů a vyberte Nastavení pásu karet. V okně, které se otevře, zaškrtněte políčko naproti " vývojář "a klikněte na"OK".
- Na kartě Vývojář klikněte na tlačítko Makro ve skupině kód.
- V okně makra, které se otevře, vyberte Vytvořit.
- Vyberte název modulu a klikněte na "Vytvořit".
Po těchto akcích se otevře editor kódu, kde můžete napsat svou funkci.
Důležitě: všimněte si, že moduly jsou vytvářeny na úrovni knihy, nikoli na úrovni samostatného listu. To znamená, že funkci vytvořenou v jednom modulu lze použít ve všech listech dané knihy.
Začněte zadávat kód funkce
Zde je například kód pro oznámení funkce Lib, která přijímá dva argumenty:
Function Lib(arg1 As Integer, arg2 As String) As String
V tomto příkladu funkce Lib přijímá dva argumenty: arg1 typu Integer a arg2 typu String. Funkce by měla vrátit hodnotu typu String.
Po oznámení funkce můžete začít psát kód uvnitř funkce. Chcete-li, aby funkce provedla nějaké akce nebo vrátila výsledek, musíte zadat příkazy nebo výrazy, které budou provedeny uvnitř funkce.
Můžete například použít příkaz If ke kontrole podmínek a provedení určité části kódu v závislosti na výsledku:
Function Lib (arg1 As Integer, arg2 As String) as String If arg1 > 10 Then Lib = "více než 10" Else Lib = "méně nebo rovno 10" End If end Function
V tomto příkladu, pokud je hodnota arg1 větší než 10, funkce Lib vrátí řádek "větší než 10", v opačném případě se vrátí řádek "menší nebo rovný 10".
Nyní, když víte, jak začít zadávat kód funkce Lib v Excelu VBA, můžete pokračovat ve vývoji funkce, přidávat příkazy a výrazy pro konkrétní úkoly.
Uložte a otestujte funkci
Jakmile napíšete funkci Lib, musíte svůj projekt uložit. Chcete-li to provést, přejděte na kartu Soubor v Excelu a vyberte Uložit jako. Zadejte název souboru a vyberte složku, kterou chcete uložit.
Nyní můžete otestovat svou funkci. Chcete-li to provést, vytvořte v Excelu novou buňku, ve které chcete použít funkci Lib. Můžete například použít buňku A1. Zadejte do něj vzorec začínající názvem funkce Lib, například:
=Lib(A2, B2)
Všimněte si, že musíte předat dva argumenty funkce Lib, což jsou v tomto případě hodnoty z buněk A2 a B2.
Po zadání vzorce stiskněte klávesu Enter. Excel by měl vypočítat hodnotu funkce Lib na základě přenesených argumentů a zobrazit výsledek v buňce.
Pokud místo hodnoty funkce vidíte chybu, může to znamenat, že jste udělali chybu při psaní funkce Lib nebo přenosu argumentů. Zkontrolujte, zda jsou všechny názvy funkcí a proměnných napsány správně a že k přenosu argumentů používáte správnou syntaxi.
Pokud vaše funkce Lib funguje správně, můžete ji použít v jakékoli buňce vašeho sešitu Excel. Stačí zadat vzorec s názvem funkce a potřebnými argumenty a Excel automaticky vypočítá hodnotu funkce.
Nyní víte, jak deklarovat a používat vlastní funkci Lib v Excelu VBA. Je to výkonný nástroj, který vám může výrazně usnadnit práci s daty v Excelu.