Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Příklady práce s Excelem

Databáze Excel v objektu PmDatabase

- Při založení objektu z Předkonfigurace PmDatabase - Databáze vybrat: Excel.
- V nově založeném objektu PmDatabase v záložce Databáze nastavit konfigurátory: Technologie, Databáze (soubor, složka, datový zdroj), Tabulka (soubor), atd.

Databáze Excel v objektu PmAdo

- Při založení objektu z Předkonfigurace PmAdo - ADO databáze vybrat databázi typu: Excel a v konfigurátoru Parametry připojení k databázi zvolit: MsExcel 2007,2011 - Provider Microsoft nebo MsExcel 2003 - Provider Jet.4.
- V předkonfikurovaném Parametry připojení k databázi je nutno upravit cestu a název souboru databáze.
Po založení vznikne objekt PmAdo, který má v záložce Metody metodu DtiOper. Tato metoda je základním rozhraním pro práci s tabulkami databáze a může ji využít například prohlížečka Předkonfigurace Obraz s tabulkovým editovatelným prohlížečem zdroje dat.
 
Rozhraní používá ADO technologii a může být podle potřeby doplněno o další funkčnosti:
Příklad:
Vytvoří novou tabulku data se sloupci nTime (čas), 'flags' (celé číslo) a 'value1' (reálné číslo).
pMe.DbExecute "", "CREATE TABLE data (nTime date, flags integer, value1 double)", ""
 
Vytvoření tabulky (CREATE TABLE) v excelu znamená vytvoření nového listu (Sheet).
Odstranění tabulky (DROP TABLE) však nezpůsobí odstranění listu, ale pouze vyprázdní jeho obsah.

Ze skriptu pomocí metody GetObject a CreateObject

- Pomocí metody GetObject lze otevřít a získat referenci na aplikaci MsExcel. Pak lze využít pro práci s listy a daty vnitřní implementaci jazyka VBA (Visual Basic For Aplications), který je součástí Microsoft Office.
- Nevýhodou může být poměrně velká časová náročnost při čtení nebo zápisu velkého objemu dat.
Příklad1:
Otevření souboru Test.xls, v něm list 'Sheet1'. Vyčtení hodnoty v buňce "B3" a přiřazení do promměné a. Zápis hodnoty 3,14 do buňky "D7". Zviditelnění aplikace. Uložení a zavření aplikace.
Dim oExcelApp, oSheet, a
Set oExcelApp = GetObject("c:\Data\Test.xls")
Set oSheet = oExcelApp.Sheets("Sheet1")
a = oSheet.Cells(3,2)
oSheet.Cells(7,4) = 3.14
oExcelApp.Parent.Windows(1).Visible = true
oExcelApp.Save
oExcelApp.Application.Quit
 
Příklad2:
Vytvoření nového souboru EXCEL. Zviditelnění aplikace. Vytvoření listů aplikace (podle implicitního nastavení Excel). Vytvoření reference na první list. Zápis hodnot do prvního listu, uložení a zavření aplikace.
Dim oExcelApp, oWorkbook, oSheet
Set oExcelApp = CreateObject("Excel.Application")
oExcelApp.Visible=true
Set oWorkbook = oExcelApp.WorkBooks.Add
Set oSheet = oExcelApp.Sheets(1)
oSheet.Cells(1,1) = oWorkbook.Sheets.Count
oSheet.Cells(1,2) = 34
oSheet.Cells(2,1) = Now
oSheet.SaveAs "C:\Data\Test.xls"
oExcelApp.Quit

Další možnosti využití jazyka VBA pro práci s MsExcel

Možnost spuštění aplikace MsExcel obsahující nějaké Macro.
 
Příklad:
spuštění aplikace "Test.xls" obsahující makro "Macro1"
Dim oExcelApp
Set oExcelApp = GetObject("c:\Data\Test.xls")
oExcelApp.Application.Run "Test.xls" & "!Macro1"
 
Vzhledem k bezpečnosti OS Windows však není spouštění maker v MsExcel implicitně povoleno. Pokud se mají spouštět soubory, které makra obsahují, pak se musí toto nastavení v Microsoft Excel povolit.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice