ExcelVBAmodul. Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel

Podobné dokumenty
PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde

DUM 06 téma: Tvorba makra pomocí VBA

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

8 Makra Příklad 4 Excel 2007

MS Excel makra a VBA

01. HODINA. 1.1 Spuštění programu VB Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

Propojení systému MICROPEL a inteligentní elektroinstalace ABB Ego-n

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

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

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

Popis programu EnicomD

2) Nový druh připojení Ethernet-CA5 umožňující připojit nové zařízení CA5 a to přes Ethernet nebo přes GPRS

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

Postupy práce se šablonami IS MPP

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Reliance 3 design OBSAH

ZSF web a intranet manuál

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Visual Basic for Application

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

CA21 PŘÍRUČKA UŽIVATELE

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

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

3MA481 Propojení Accessu a Excelu David Hach

KAPITOLA 8 TABULKOVÝ PROCESOR

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

Test z programování v jazyce VBA v rámci předmětu Počítače II Vzorová zadání a vypracování

Tematický celek 03 - Cvičné příklady

Práce s programem MPVaK

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Excel 2007 praktická práce

Windows Live Movie Maker

UniLog-D. v1.01 návod k obsluze software. Strana 1

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

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

Základní škola Hluk výukové texty MS Word 2007

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

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

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.

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

DATABÁZE ACCESS Ovládací prvky ve formuláři 5 TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.

Uživatelská příručka pro ředitele škol

KOMUNIKAČNÍ DDE SERVER PRO AUTOMATY MICROPEL VERZE 7.7 POPIS ROZHRANÍ A OVLÁDÁNÍ

Psaní programu pro PLC SIMATIC S7-300 pomocí STEP 7

Přístup k poště MS Office 365 mají pouze studenti 1. a 2. ročníku EkF prezenčního studia. Přístup k ostatním službám mají všichni studenti.

Vytvoření tiskové sestavy kalibrace

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Word 2007 praktická práce

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Návod k aplikaci DPH Kontrol

APS Administrator.GS

Možnosti tisku v MarushkaDesignu

MIDAM Verze 1.1. Hlavní okno :

Prohlížení a editace externích předmětů

Sada 2 - MS Office, Excel

Knihovna EpsnetLib TXV první vydání září 2012 změny vyhrazeny

MBus Explorer MULTI. Uživatelský manuál V. 1.1

MS OFFICE POWER POINT 2010

Programovací jazyk Pascal

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze

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

MS Excel Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

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

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL

PROGRAMOVATELNÉ AUTOMATY FATEK

8. Formátování. Úprava vzhledu tabulky

Manuál k programu KaraokeEditor

Uživatelský manuál. Připojení přístroje SDT170 k aplikaci DDS2000

Uživatelský manuál. KNXgal. řízení zabezpečovacích ústředen. Galaxy ze sběrnice KNX. napájeno ze sběrnice KNX. indikace komunikace na KNX

MIKROTHERM 825. Monitorovací program MT825C1

PÁS KARET. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

František Hudek. duben Informační a komunikační technologie MS Excel Úvod do Excelu II. Základy práce s listy a buňkami.

Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica

Tvorba kurzu v LMS Moodle

Komunikace modulu s procesorem SPI protokol

Modul IRZ návod k použití

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

10 Algoritmizace Příklad 2 Word 2007/ VBA

František Hudek. květen 2012

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou

Č í sla slovy 1.3. verze dokumentu: vytvořil: Ing. Pavel Randák předmět: Uživatelský manuál vydavatel: Austro-Bohemia, s.r.o.

Microsoft Office. Word vzhled dokumentu

Analýza dat na PC I.

MS Word 2007 Šablony programu MS Word

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

Zpravodaj. Uživatelská příručka. Verze

MIDAM Simulátor Verze 1.5

Excel tabulkový procesor

Tabulkový procesor. Základní rysy

zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;

Tabulka obsluhovaná kódem VBA

Vlastnosti dokumentu/stránky

Technologické postupy práce s aktovkou IS MPP

Fingerprint Verification Control

NÁVOD K OBSLUZE konfigurační SW CS-484

Transkript:

ExcelVBAmodul Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel

ExcelVBAmodul Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel 3. verze dokumentu 05/2013 MICROPEL s.r.o. Tomáš Navrátil navratil@micropel.cz

změny v nové verzi Oproti předchozí verzi, již makro pro Excel nevyžaduje instalaci podpůrných knihoven na PC (k tomu dříve sloužila dávka ivbamodul.exe). Prostředky pro Excel jsou po importu do dokumentu XLS samostatné a takovýto soubor může být přenesen na jiné PC aniž by bylo nutné provádět instalaci dalších prostředků. Úvod Program EXCEL, z balíku programů Microsoft Office, umožňuje zobrazovat a nastavovat hodnoty v síti automatů MICROPEL. Tato schopnost je dána tím, že náš softwarový server DataServer (nebo starší PesDDE ) poskytuje DDE rozhraní, které podporuje také program EXCEL. Program EXCEL umožňuje v zásadě dvě možnosti, jak přistupovat k datům v síti automatů MICROPEL. Jednak přímým zápisem formule pro rozhraní DDE do buňky EXCELu a jednak použitím vestavěného programovacího jazyku VBA (Visual Basic for Application). Obě možnosti mají své výhody i nevýhody. Pro použití VBA jsme připravili univerzální funkce pro mapovaní dat z tabulky EXCELu do automatu a zpět. Přílohou je příklad dokumentu excelu VizDDE.xls. A. Přímý zápis do buňky Excelu Protokol VAR Obecně lze tuto metodu popsat tak, že uživatel zapíše do buňky EXCELu přímo textový příkaz (protokolu komunikace po DDE) pro čtení nebo zápis, program EXCEL tunto formuli provede a do buňky zobrazí buď data (v případě čtení ze sítě) a nebo výsledek operace (v případě zápisu dat do sítě). Textový formát požadavku zapsaného do buňky je (například čtení stacku z automatu s adresou 30, index stacku je 0, počet čtených dat je 1: =pesdde var! rs[30][0][1] Kde: = uvození vzorce (vlastnost excelu) pesdde název služby DDE, kterou poskytuje aplikace DataServer nebo PesDDE var název tématu výše uvedené služby rs[30][0][1] vlastní text požadavku na provedení příkazů Pozn.: podrobnější popis možností čtení a zápisu tohoto protokolu je popsán v dokumentaci k aplikacím DataServer. Nevýhodou přímého zápisu formule DDE do buňky je jednak formát dat v případě že je potřeba vyčíst (nebo zapsat) více než jednu hodnotu. Dalším omezením je fakt, že se akce standardně provede pouze v okamžiku vložení formule do buňky. Protokol MEM Protokol MEM je určen především pro trvalé zobrazování dat (například výhodně by se pomocí tohoto protokolu řešilo zobrazení reálného času automatu v listu Excelu). Protokol MEM umožňuje založit žádost o trvalé propojení, tedy žádost o trvalé čtení. Trvalé čtení znamená, že DataServer sám aktualizuje data a v případě změny hodnoty dat tato nová data pošle do příslušné buňky Excelu.

Textový formát požadavku zapsaného do buňky je (například čtení stacku z automatu s adresou 30, index stacku je 0, počet čtených dat je 1: =pesdde mem! stack;word;30;0 Kde: = uvození vzorce (vlastnost excelu) pesdde název služby DDE, kterou poskytuje aplikace DataServer nebo PesDDE mem název tématu výše uvedené služby stack;word;30;0 vlastní text požadavku na provedení příkazu Pozn.: podrobnější popis možností protokolu MEM naleznete v dokumentaci k aplikaci DataServer v kapitole Serery-Server DDE-Téma MEM. B. Použití maker pro VBA (Visual Basic for Application) Tato metoda umožňuje v EXCELu mapovat tabulky dat do datových oblastí jednotlivých automatů ( a obráceně). Tato výměna dat je inicializovaná uživatelem (nejčastěji aktivací tlačítka) nebo vyvoláním události (například od časovače). Výhodou je jednoduché použití (napojením na naše funkce lze získat již hotové mapování) a za výhodu lze také považovat umístění kódu VBA mimo uživatelskou oblast koncového uživatele a uložením tohoto kódu pod přístupové heslo. Následující část dokumentu se věnuje právě použití maker VBA. Prostředky pro datové propojení Excelu a PLC Instalace MICROPEL DataServer Podmínkou napojení programu EXCEL na síť automatů MICROPEL je server, aplikace MICROPEL DataServer. Ten program pomocí portu COM, USB,Ethernet komunikuje s automaty a data poskytuje pomocí unifikovaného rozhraní DDE do operačního systému. Pozn.: Tento program je třeba před spustit před spuštěním programu EXCEL, jehož dokument obsahuje makra pro komunikaci se serverem PesDDE. Podpora pro VBA Balíček souborů pro podporu komunikace Excelu obsahuje: DDEClientXLS.bas frmprogressbar.frm (již neobsahuje ivbamodul.exe) Prvním krokem je import vlastních funkcí pro VBA. Tyto funkce jsou uloženy v otevřeném kódu VB v souboru DDEClientXLS.bas a je třeba jej importovat do každého dokumentu Excelu, který má komunikovat s automaty. Postup je takový, že v programu EXCEL vytvoříme nový dokument (nebo otevřeme již existující), zapneme vestavěný editor VBA a v nabídce Soubor (při vybraném projektu, který nese název otevřeného dokumentu Excelu) vybereme Import soubor. Zobrazí se dialog pro nalezení souboru a po vybrání DDEClientXLS.bas v seznamu projektu (levé okno) se zobrazí stejnojmenný modul. Stejně postupujeme i v případě importu souboru frmprogressbar.frm

Popis funkcí modulu DDEClientXLS.bas Instalovaný modul DDEClientXLS (viz výše) poskytuje tyto výkonné funkce WriteTableToPLC ( ) ReadTableFromPLC ( ) ProcessDDE( ) a také inicializační funkce InitVBAmodul() CloseVBAmodul() CloseVBAmodul2( ) Úkolem těchto funkcí je přenášet vybranou oblast buněk do a z automatu. Výkonné funkce mají stejný seznam parametrů a stejnou návratovou hodnotu pro vyjádření výsledku operace. Liší se jen směrem přenosu dat. Inicializační funkce se volají před a po ukončení operce. WriteTableToPLC Tato funkce čte zadanou tabulku a hodnoty z tabulky zapisuje do paměti automatu. Parametry funkce popisují zdroj dat (tabulku v EXCELu) a cíl (automat). Tabulka nemusí být jen dvojrozměrná, ale může být ve formě řádku a nebo sloupce případně tabulkou můžeme roumět také jednu samostatnou buňku. V každém případě je oblast tabulky určena levým horním a pravým dolním bodem, tedy buňkou EXCELu. Také je třeba určit jak se tabulka má vyčítat. Zda-li po sloupcích (parametr COLUMN) a nebo řádcích (parametr LINE). Tento parametr je třeba uvést i v případě, že se jedná o jednorozměrnou tabulku (řádek nebo sloupec) a směr je vlastně dán. Cílem dat je automat. Tam je třeba určit adresu automatu v síti, typ paměti ( tach, bity, wordy) a adresu v daném typu paměti, od které se budou data zapisovat. Nepovinným parametrem je parametr perlen. Ten používáme v případě, že na jednu akci uživatele voláme více funkcí WriteTableToPLC a nebo ReadTableFromPLC za sebou. Nenulová hodnota tohoto parametru sděluje funkci, jaká procentuální část ukazatele průběhu mu připadá. Tato hodnota by měla vyjadřovat procentuální množství dat, které volaná funkce zapisuje z celkového množství dat, zapisovaných (nebo čtených) v daném makru. Pokud se tato hodnota vynechá, pak si funkce přisoudí celý ukazatel průběhu. Tento stav odpovídá situaci, že máme jen jeden příkaz na čtení a nebo zápis v uživatelském makru. Deklarace funkce : Function WriteTableToPLC( ByVal direction As String, _ ByVal startline, _ ByVal startcol, _ ByVal endline, _ ByVal endcol As Integer, _ ByVal typemem As String, _ ByVal addrplc As Integer, _ ByVal addrmem As Integer, _ Optional ByVal perlen = 100) As Boolean Popis parametrů: direction textová hodnota LINE nebo COLUMN určuje, jak bude tabulka vyčítána jestli po řádcích nebo sloupcích startline & startcol čiselné definice levé horní buňky tabulky

endline & endcol číselné definice pravé dolní buňky tabulky typemem textová proměnná určuje druh paměti, kam se data v automatu budou zapisovat, může nabývat hodnot tach, bit, word addrplc adresa automatu v siti PESNET addrmem adresa v paměti, kam se mají nahrát data z tabulky POZOR! Rozumí se absolutní adresa viz. Dokumentace k aplikaci DataServer perlen (nepovinné) hodnota od 0 do 100, představuje takovou procentuální část proužkového ukazatele, který má tato funkce k dispozici pro zobrazování průběhu operace Návratová hodnota: Návratová hodnota je typu BOOL (pravda / nepravda) a vyjadřuje požadavek uživatele na ukončení operace. Na ukazateli průběhu operace je tlačítko STORNO. Pokud uživatel zmáčkne toto tlačítko, tak návratová hodnota funkce WriteTableToPLC je FALSE (nepravda). Pokud uživatel tlačítko nezmáčkne je návratová hodnota funkce WriteTableToPLC TRUE. Z toho plyne konstrukce použití funkce ukázána v následujícím příkladu (viz Použití funkcí). ReadTableFromPLC Tato funkce má stejný seznam parametrů a stejnou návratovou hodnotu pro vyjádření výsledku operace jako funkce WriteTableToPLC. Liší se jen směrem přenosu dat. Tato funkce tedy naopak čte z paměťové oblasti automatu hodnoty a zapisuje je do zadané tabulky EXCELu. ProcessDDE Tato funkce slouží k vykonání požadavku čtení nebo zápisu přímo z kódu VBA bez napojení na nějakou buňku listu. Předchozí funkce návratovou hodnotu uložili (nebo četli) z vybrané oblasti buněk. Pokud ale potřebujeme přímo v kódu VBA znát hodnotu, například aby se na základě hodnoty v automatu rozhodlo jaká oblast se má číst, lze použít tuto funkci. Deklarace funkce: Function ProcessDDE(ByVal itemtodde As String) As String Jako parametr itemtodde je třeba vložit textový řetězec ve formátu komunikace DDE (viz dokumentace DataServer) Například resetovaní programu: Public Sub Reset_PLC() result = ProcessDDE( sb[9][318]1 ) pozn.: RESET je index 318 If result = OK Then MsgBox Program resetován If result = ERROR Then MsgBox Chyba operace! InitVBAmodul Sub InitVBAmodul()

Tato procedura inicializuje globální hodnoty potřebné pro práci výše uvedených funkcí a je tedy nutné ji volat před voláním funkcí ReadTableFromPLC a WriteTableToPLC. CloseVBAmodul Sub CloseVBAmodul() Tato procedura uzavírá globální objekty a v případě, že během komunikace došlo k chybám, vypíše seznam adres automatů, s nimiž nenavázal spojení. CloseVBAmodul2 Sub CloseVBAmodul2(msg As Boolean) Tato procedura také uzavírá globální objekty jako předchozí s tím, že případný dialog zobrazí pouze pokud byl nastaven předaný parametr msg = 1. Pokud je nastaven na 0, pak se provede tiché ukončení operace. Použití funkcí Pro správnou funkci je třeba dodržet také pravidla pro použití výše uvedených funkcí. Následující postup je vhodné dodržet v každém samostatném bloku zpracovávajícího data jako výsledek jedné události. Typicky jako blok funkcí, spuštěných jako reakce na stisk tlačítka. 1. Nejdříve je nutné zavolat inicializační funkci InitVBAmodul 2. Pote jé možné volat funkce ReadTableFromPLC a WriteTableToPLC a to i na různé adresy atomatů. 3. Na závěr zavolat funkci CloseVBAmodul (a to buď se zobrazením chyb nebo bez zobrazení) Funkce ProcessDDE je možné volat bez volání funkcí InitVBAmodul a CloseVBAmodul. Protože návratová hodnota funkcí Read a Write odráží případný požadavek uživatele na stornování akce (ukazatel průběhu má tlačítko STORNO), je doporučená konstrukce použití funkcí následující: Sub Reakce_na_stisk_tlacitka() 1. inicializace komunikace Call InitVBAmodul makra 2. Vlastni vymena dat. Pokud je zaznamenan pozadavek na STORNO je mozne volat konec If WriteTableToPLC( LINE, 10, 3, 20, 15, stack, 30, 10, 50) = False Then GoTo ENDmakro If WriteTableToPLC( COLUMN, 22, 3, 32, 15, bit, 1, 20, 50) = False Then GoTo ENDmakro 3. konec komunikace ENDmakro: Call CloseVBAmodul

Příklady Příklad: Private Sub Tlačítko_Click() Call InitVBAmodul inicializace globálních objektů If WriteTableToPLC( LINE, 10, 3, 20, 15, stack, 30, 10, 50) = False Then GoTo ENDmakro řádkový zápis dat z tabulky, jejíž levý horní roh je buňka 10,3, pravý dolní roh je buňka 20,15, zapisovat se bude do stacku automatu s adresou 30 a do místa ve stacku s adresou 10. Toto makro má k dispozici 50% ukazatele průběhu If WriteTableToPLC( COLUMN, 22, 3, 32, 15, bit, 1, 20, 50) = False Then GoTo ENDmakro sloupcový zápis dat z tabulky, jejíž levý horní roh je buňka 22,3, pravý dolní roh je buňka 32,15, zapisovat se bude do automatu s adresou 01 a do bitových proměnných s adresou s adresou 20. Toto makro má k dispozici 50% ukazatele průběhu ENDmakro: návěšťí konce programu Call CloseVBAmodul ukončení globálních objektů Příklad řádkové tabulky, kde každý řádek odpovídá jinému automatu: Private Sub Tlačítko2_Click() Call InitVBAmodul objektů inicializace globálních If WriteTableToPLC( LINE, 10, 3, 10, 15, stack, 30, 10, 100 /3) = False Then GoTo ENDmakro If WriteTableToPLC( LINE, 11, 3, 11, 15, stack, 1, 20, 100/ 3) = False Then GoTo ENDmakro If WriteTableToPLC( LINE, 12, 3, 12, 15, stack, 1, 20, 100/3) = False Then GoTo ENDmakro ENDmakro: návěšťí konce programu Call CloseVBAmodul ukončení globálních objektů Chybové stavy, hlášení Pokud některá funkce ( WriteTableToPLC, ReadTableFromPLC) nemůže být provedena (tady bývá ta chyba, že cílový automat neodpovídá), zapíše si vzniklou chybu do svého vnitřního objektu, ale její návratová hodnota je TRUE, tedy následující funkce mohou bít vykonány. Vnitřní chybový objekt je zobrazen až po ukončení komunikace a zavolání funkce CloseVBAmodul. To znamená, že pokud je v uživatelském makru více funkcí ( WriteTableToPLC, ReadTableFromPLC) provedou se všechny i v případě lokálních chyb a chybné adresy se zobrazí až na konci provádění makra.

Návody na práci s VBA Napojení maker na Tlačítko Máme-li nějakou oblast dat v Excelu kterou chceme ukládat a nebo číst, je třeba tuto operaci odvodit od akce uživatele. Nejjednodušším způsobem je napojením na tlačítko. Pro gram Excel umožňuje vložit tlačítko dvěma způsoby: 1) Z menu Zobrazit (View) vybrat Panely nástrojů (Tollbars) a zaškrtnout položku Visual Basic. Zobrazí se panel s mininabídkou. Kliknutím na tlačítko Ovládací prvky se zobrazí panel s prvky. Vybereme tlačítko a a na požadovaném místě ho vytvoříme pomocí kurzoru myši. Pravým tlačítkem myši dostaneme místní nabídku. Přes položku Vlastnosti můžeme měnit nápis na tlačítku (Caption), velikost písma (Font). Položka (Name) určuje, jaké makro se bude připojovat (Name_Click). Přes položku Zobraz kód se dostaneme do předdefinovaného makra, které je prázdné a je připojené k tlačítku a jmenuje se podle názvu tlačítka a přípony _Click. V tomto makru je pak třeba volat potřebné funkce InitVBAmodul, WriteTableToPLC, ReadTableFromPLC, CloseVBAmodul. Po ukončení editace se klikne na tlačítko Ukončit režim návrhu v nabídce panelu nástrojů Visual Basic a tím se možnosti editace tlačítka zamknou. 2) Z menu Zobrazit (View) vybrat Panely nástrojů (Tollbars) a zaškrtnout položku Formuláře (Forms). Zobrazí se panel, nabízející různé prvky. Vybereme prvek Tlačítko a na požadovaném místě ho vytvoříme pomocí kurzoru myši. K tomuto prvku přiřadíme makro, které musí již existovat a nebo které v editoru VBA musíme sami vytvořit. Tato metoda ale umožňuje editovat tlačítko koncovému uživateli jako každý jiný prvek a navíc neautomatizuje napojení na makro v editoru VBA na rozdíl od předcházející metody. Uzamknutí kódu Projekt ve VBA editoru lze uzamknout proti nežádoucímu zásahu. Ve VBA editoru v levém okně (prohlížeč projektů) vybereme náš projekt s modulem DDEClientXLS a s makry pro tlačítka, vybereme přes místní nabídku Vlastnosti projektu a vybereme záložku Zámek. Tam zaškrtneme zamknutí a nastavíme heslo. Po příštím otevření VBA editoru bude požadováno heslo před prohlížením projektu VBA. Opakované vyčítání dat 1. pomocí časovače Excel umožňuje volání libovolné funkce v předem určenou dobu. K tomu slouží funkce objektu aplikace OnTime (čas volání, jméno volané funkce).tato funkce má jako 1. parametr čas volání stanovené funkce a 2. parametr je právě jméno funkce, která se bude ve stanovený čas volat Řešení periodického vyčítání dat je ve dvojici navzájem se volajících funkcí, kde jedna funkce nastavuje čas volání druhé funkce a tato druhá funkce provádí vyčítání dat plus nastavení příštího volání na sama sebe. První funkce (v příkladu nazvaná VyctiData) provede vyčtení dat (nebo cokoliv jiného) a na závěr zavolá funkci (SetNextCall) pro nastavení příštího času volání funkce sama sebe, tedy funkce VyctiData.

Ve funkci SetNextCall se volá funkce OnTime a jako parametr času se předá aktuální čas (Now) plus 5 veřin (TimeValue( 00:00:05 )) a název volané funkce je Vyčti data. Příklad: Sub VyctiData () zde je kód pro vyčtení dat, např.: Range ( A1 ) = =pesdde var! rs[1][0] zde je inicializace dalšího volaní fce VyctiData Call SetNextCall() Sub SetNextCall () Application.OnTime Now + TimeValue( 00:00:05 ), VyctiData 2. protokolem MEM Tuto funkčnost pravidelné vyčítání dat - řeší zcela nezávisle a automaticky protokol MEM (viz výše a viz dokumentace aplikace DataServer) Upozornění: rozsah platnosti funkce jazyka VBA Pokud se funkce VBA deklarují v Listech a nikoliv v modulu, který je globální, je třeba ve funkci OnTime určit plné jméno funkce včetně názvu listu. Např.: Sub SetNextCall () Application.OnTime Now + TimeValue("00:00:05"), "List1.VyctiData"