Vytvoření.NET komponenty (DLL) ve Visual Studiu

Podobné dokumenty
Nápověda k aplikaci EA Script Engine

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Programujeme v softwaru Statistica

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Instalace SQL 2008 R2 na Windows 7 (64bit)

Informační a komunikační technologie pro učební obory ME4 a SE4. Makra

Komponenty v.net. Obsah přednášky

MS Excel makra a VBA

Co je potřeba k realizaci příkladu

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Digitalizace s TIA Portal V15 S OPC UA. Siemens AG 2018

Synchronizace kontaktů z ESO9 do MS Outlook

Programujeme v softwaru Statistica - příklady

Excel - databáze. Opakování. Soubor, který jsme upravovali. Upravený soubor. Hrubá mzda = počet kusů * Kč za kus B6=B4*B5

Článek je napsán pro českou verzi Excelu 2010, ale věřím, že i v jných verzích si dovedete poradit.

Programujeme v softwaru Statistica

8 Makra Příklad 4 Excel 2007

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

EvMO postup při instalaci

Instalace Microsoft SQL serveru 2012 Express

Jako skript se nabízí BAT soubory, VBScript či PowerShell. Zpracovány jsou druhé dva.

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Testovací protokol USB Token Cryptomate

Jak programovat Tinykeyer?

Verze: Licence: shareware, cena 450 Kč (licence pro jeden počítač, vážným zájemcům je na vyžádání zaslán odkaz k sedmidennímu vyzkoušení)

DUM 06 téma: Tvorba makra pomocí VBA

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

Visual Basic for Application

ČÁST 1. Základy 32bitového programování ve Windows

Seznámení s prostředím dot.net Framework

Testovací protokol čipová karta ACOS5

APS Administrator.OP

Vazba ESO9 na MS Outlook a MS Exchange

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Spuštění a ukončení databázové aplikace Access

DUM 05 téma: Úvod do VBA for application

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Nové jazykové brány do Caché. Daniel Kutáč

Obr. P1.1 Zadání úlohy v MS Excel

SQL Server Data Tools (SSDT) RNDr. David Gešvindr MVP: Azure MCSE: Data Platform MCSD: Windows Store

Použití inteligentních značek s informačními službami

UŽIVATELSKÁ PŘÍRUČKA

Velký křízovkářský slovník 4.0 (VKS) Instalace programu

Obsah. Úvod 9. Úvod do Office Seznámení s Office Vylepšení programu Access XML 13 Inteligentní značky 14

TECHNICKÁ UNIVERZITA V LIBERCI

Aplikace a služba Money Dnes Publisher v deseti krocích

Programování v jazyce VISUAL BASIC.NET

MyEcodial L 3.4. Instalace a registrace programu. Listopad 2008

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

3MA481 Propojení Accessu a Excelu David Hach

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Importy a exporty KLIENTSKÝ DOPLNĚK PRO PODPORU IMPORTŮ VERZE 3.2.0

Konfigurace pracovní stanice pro ISOP-Centrum verze

Testovací protokol čipová karta Oberthur Id-One Cosmo V5.4

Microsoft Access tvorba databáze jednoduše

INSTALACE SOFTWARE PROID+ NA MS WINDOWS

Instalace programu OZO. z www stránek či odkazu z u

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

1. POSTUP INSTALACE A KONTROLA NASTAVENÍ MICROSOFT SQL SERVERU 2005 EXPRESS:

Návod pro práci s SPSS

TÉMATICKÝ OKRUH Softwarové inženýrství

Active Directory organizační jednotky, uživatelé a skupiny

Použití zásad skupin k instalaci klientské komponenty ESO9

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

wplatba SOAP api Technická dokumentáce

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

9 Úprava maker Příklad 4 Word 2007/ VBA

.NET Framework verze Program pro připojení ke vzdálené ploše (RDC) verze

Projekt Obrázek strana 135

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc

APS Web Panel. Rozšiřující webový modul pro APS Administrator

Konstrukce nepravidelného půdorysu

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Rocrail. Nejprve: Obecný úvod. Instalace

Kapitola 1: Co je Delphi 19. Překlad projektu 23

Tabulkový procesor otázka č.17

NADSTAVBOVÝ MODUL MOHSA V1

Konvertor diakritiky 3. Instalace

INSTALACE SOFTWARE A AKTIVACE PRODUKTU

1 Přesun síťového serveru

Postup instalace umožňující el. podpis v IS KP14+ pro webové prohlížeče Google Chrome a Firefox.

TÉMATICKÝ OKRUH Softwarové inženýrství

Program SeleCAD. pro AutoCAD LT a FULL. Instalace a registrace programu

1. Instalace MySQL Serveru Konfigurace MySql Serveru Vytvoření struktury databáze...3

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Po přihlášení do Osobní administrativy v Technologie a jejich správa vybereme položku Certifikáty bezdrátové sítě (Eduroam).

Programátorská příručka

Odstranění řádků (na základě hodnoty)

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

STATISTICA 10 Postup instalace plovoucí síťové verze s odpojováním licencí (BNET)

Statistica Enterprise

Konfigurace pracovní stanice pro ISOP-Centrum verze

Instalace. Návod na instalaci a licencování ESI[tronic] Spuštění instalace z DVD ESI[tronic] 2.0 DVD 1 - soubor Setup.exe. 4.

5 ÚVOD DO TESTOVÁNÍ SOFTWARE. 6 Testování software ve vývojovém prostředí MICROSOFT VISUAL STUDIO V hlavním menu volba Debug

Transkript:

Jak vytvořit.net komponentu (DLL, COM Class) pro Excel? A proč? A co k tomu budeme potřebovat? Velký Visual Basic (dnes VB.NET) se rozešel s Visual Basicem pro aplikace (VBA) před cca 16 lety. A i když dnes už VB.NET není zdaleka in, přeci jen ušel značný kus cesty a je násobně silnější než stařičké a unavené VBA. Proto není na škodu se na něj obrátit, když už si ve VBA nevíme rady. No jo, ale co nás to bude stát? Dnes už nic. Microsoft již před časem dal k dispozici Visual Studio Community zdarma, které na programování komponent a doplňků pro Microsoft Excel (Microsoft Office) budeme potřebovat (i kdyby ne, pořád je tu projekt SharpDevelop). Takže prostředí máme a pro programátory ve VBA nebude zatěžko porozumět dialektu VB.NET (můžete se rozhodnout i pro jazyk typu C). Přeci jen je ale tento článek určen těm, kteří již nějakou zkušenost s Visual Studiem a VB.NET mají. Jdeme na to. Vytvoření.NET komponenty (DLL) ve Visual Studiu Spustíme Visual Studio s právy správce (důvod bude zmíněn později). Visual Studio spuštění s právy správce Vytvoříme nový projekt postavený na obecné třídě s názvem ClassLibrary1. ProExcel.cz 1

Visual Studio knihovna tříd (DLL) Ověříme si, že je aplikace otevřena skutečně s právy správce. Visual Studio práva správce Hned vzápětí založíme i třídu typu COM Class s názvem ComClass1 (jakýsi interface, poslouží pro vlastní komunikaci s aplikací Excel). ProExcel.cz 2

Visual Basic třída COM ProExcel.cz 3

Visual Studio třída COM Její obsah bude vypadat nějak takto: Třída COM kód ProExcel.cz 4

Teoreticky by bylo možné tuto třídu vytvořit i z obecné třídy identifikátory GUID lze vygenerovat s pomocí menu Nástroje, s atributem ComClass už jsem ale narazil na problém v rámci InteropServices, zkrátka, nestojí to za to. Doplníme ještě testovací proceduru a funkci. Třída COM vlastní procedura a funkce V proceduře Tester je užit MessageBox, univerzální bratříček našeho známého MsgBoxu z VBA. I zde je sice stále dostupný, nicméně se odkážeme na modernější formu dialogového okna. Na to potřebujeme do projektu zahrnout odkaz na knihovnu a jmenný prostor (namespace), v němž se MessageBox nachází. Viz také Projekt / Přidat odkaz ProExcel.cz 5

Visual Studio reference Pojďme se nyní podívat na vlastnosti projektu (Projekt / Vlastnosti ). ProExcel.cz 6

Visual Studio registrace COM Pod položkou Kompilace najdeme volbu Zaregistrovat pro spolupráci s modelem COM. Jejím cílem je vytvoření tzv. TLB souboru (Type Library File) a následné registrace informací v něm uložených (operace vyžaduje práva správce). Jedná se o jakýsi definiční soubor obsahující údaje o vlastnostech, metodách a funkcích samotné knihovny DLL. Odkazuje se na něj VBA prostřednictvím svých referencí a poslouží i pro Object Browser a IntelliSense. Pro první testování nechte danou ProExcel.cz 7

volbu zaškrtnutou, nicméně ve finále bude TLB soubor vygenerován až po distribuci DLL knihovny na konkrétní počítač. Dále si projekt podepíšeme. Důvody si zde rozebírat nijak nebudeme, k tématu se váží pojmy jako strong assembly name, GAC a další. Visual Studio podepsání projektu Jsme ve finále a zbývá už jen vygenerovat potřebné soubory (Sestavit /Sestavit řešení) Visual Studio sestavení řešení (DLL pro Excel) ProExcel.cz 8

A hurá do Excelu a VBA vyzkoušet náš výtvor Test DLL knihovny ve VBA Jak vytvořit.net komponentu (DLL, COM Class) pro Excel Microsoft Excel test knihovny pod VBA V deklaraci třídy nezapomeňte na klíčové slovo New. Jak je vidět níže, IntelliSense se chytne. Microsoft Excel test knihovny pod VBA ProExcel.cz 9

Microsoft Excel test knihovny pod VBA Microsoft Excel test knihovny pod VBA Nutno poznamenat, že o registraci knihovny se na počítači postaralo samotné Visual Studio (reference se z VBA odkazuje do složky projektu). To samozřejmě nic neříká o tom, jak danou knihovnu distribuovat uživatelům. Žádný instalátor ovšem nebude potřeba. Postačí si zkopírovat obsah složky Debug (bez TLB souboru), přenést ho na počítač klienta (v příkladu dále složka D:\Test) a provést registraci DLL knihovny. Jak? Registrace DLL Možná si vybavujete příkaz Regsvr32 ve Windows. Ten pro dané účely ovšem není vhodný. My ProExcel.cz 10

potřebujeme utilitku s názvem Regasm. Najdeme ji v instalačních složkách Frameworku. Příklad níže uvádí spuštění v Total Commanderu (opět s právy správce nutnými v rámci příkazového řádku). Po spuštění (Shift + Enter) dojde k vytvoření nového definičního souboru TLB a registraci samotné knihovny. Pozn. Právě parametr codebase potřebuje strong assembly name, tj. podepsané řešení. Registrace knihovny Reference pod VBA se poté bude vázat na reálné umístění TLB souboru u klienta. Další postup užití se neliší od již uvedeného. VBA reference na klientském počítači ProExcel.cz 11

Vlastní funkce (UDF) Jednu věc jsem úmyslně vynechal návrh vlastních funkcí pod VB.NET, které mají být dostupné na listu Excelu (tzv. User Defined Functions UDF). Ke stávajícímu bychom museli přidat problémy s knihovnou mscoree.dll, hrát si s registry a nakonec stejně nejspíš ručně vybírat funkci v okně Doplňky Excelu pod tlačítkem Automatizace. Jako jednodušší mi přijde jen o kus dál posunuté předložené řešení jádro naprogramované ve Visual Studiu pouze obalíme deklarací procedury funkce pod VBA (vytvoříme tzv. wrapper). Soubory ke stažení: excel_com_class_dll.zip ProExcel.cz 12