...
| Deklarácia | startexcel [/Q] [/I] [/D] [/R] fullXlsPath [StartMakro [ param1 .. paramN ]]konkrétne pre automatický export: startexcel [/Q] [/I] [/D] [/R] fullXlsPath StartParams EXP | ||||||||||||||||||
| Parametre |
| ||||||||||||||||||
| Popis | Utilita StartExcel naštartuje MS Excel. Ak je parameter /I uvedený, MS Excel bude otvorený ako viditeľný. Ak je uvedený parameter /Q, prípadné chybové hlásenia budú zapísané do súboru startexcel.log a utilita StartExcel bude ukončená. Následne otvorí zošit daný parametrom fullXlsPath a zavolá makro StartParams s parametrom EXP. Makro StartParams musí byť implementovaná v zošite (ak je zošit vytvorený z predlohy D2000_WorkBook.xlt, automaticky makro obsahuje). Zošit sa automaticky prihlási k systému D2000 podľa prihlasovacích parametrov (USER_NAME, PASSWORD, SERVER), vyhodnotí sa a uloží kópiu aktívnej stránky zošita do nového súboru, ktorého meno je v bunke EXPORT_FILE_NAME. Táto je štandardne naplnená výrazom, ktorý existujúce meno zošita doplní dátumom a časom. V aplikácii je potrebné zmeniť adresár určený pre exportované reporty. V predlohe je nastavený na C:\Reporty. Vyhodnotenie reportu je realizované nastavením časov v bunkách D2000_BT a D2000_ET na aktuálny čas. |
...
INT _ret
TEXT _txtMsg
TEXT _report = "c:\Reporty\test1.xls"
; report export with 50 seconds timeout
_ret := RUN "startexcel.exe" SYNC " " + _report + " StartParams EXP" TIMEOUT 50
IF _ret\VLD THEN
IF _ret = _ERR_TIME_OUT THEN
_txtMsg := "TIMEOUT pre export reportu"
ELSE
_txtMsg := "Export ExitCode = " + %IToStr(_ret)
IF _ret = 0 THEN
_txtMsg := _txtMsg + " OK"
ELSE
IF _ret = 1 THEN
_txtMsg := _txtMsg + " Init Ole Error"
ELSE
IF _ret = 2 THEN
_txtMsg := _txtMsg + " Start Excel Error"
ELSE
IF _ret = 3 THEN
_txtMsg := _txtMsg + " Open Report Error"
ELSE
IF _ret = 4 THEN
_txtMsg := _txtMsg + " Run Macro Error"
ELSE
IF _ret = 12 THEN
_txtMsg := _txtMsg + " Set Registry Error"
ELSE
ELSE
_txtMsg := _txtMsg + " Unknown Error"
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
_txtMsg := "Nepodarilo sa spustiť startexcel.exe"
ENDIF
LOG _txtMsg, SysTime
END
...