Kjo eshte pak a shume ideja ne VBScript:
Kodi:
Dim appExcel, appWorkbook, appSheet
Set appExcel = CreateObject("Excel.Application.11") '11 eshte per version office 2003 po e hoqe funksioni kap vete te paren qe gjen
appExcel.Visible = 1 ' Mund ta shfaqesh progrmin excel perdoruesit dhe te shohi veprimet ne ekzekutim
set appWorkbook = appExcel.Workbooks.Add()
appWorkbook.Title = "Test"
appWorkbook.Subject = "Testimi"
set appSheet = appWorkbook.Sheets.Add()
For i = 1 to app.Workbook.Sheets.Count
For j = 1 to app.Workbook.Sheets.Count
appSheet.Cells(i, j).Value = appWorkbook.Sheets(i).Name
Next
Next
'po te duash e shfaq programin
appExcel.SaveAs(Filename:="test.xls")
MsgBox "Gjithcka u krye me sukses!"
Mund te te japi disa gabime ngaqe e kam shkruar direkte ne pergjigje pa e provuar por kjo eshte pak a shume ne VBScript. Ka shume mundesi qe s'te nevojitet krijimi i "Excel.Application" por mund te shkosh direkte tek "Excel.Sheet" por duhet kontrolluar ne ka funksionin "Save".
Tani per ObjectPascal(a.k.a Delphi) llogjika duhet te jete e njejte me nje program ne C/C++.
Ideja eshte pak a shume e tille.
Shenim: Nuk kam kohe per te te shkruar nje .dll qe te beje kete funskion qe te mund ta perdorje.
Kodi:
CoInitialize(NULL); // Inicializo librarine COM per kete proces
UUIDfromProgID("Excel.Application", &uuid); //marrim identifikimin unik
CoCreateInstance(&uuid, NULL, CTX_IN_PROC_SERVER, IID_IUnknown,
(LPVOID*) &pIUnknown); // aktivizojme objektin COM
pIUknown->QueryInterface(IID_IDispatch,.....); // shkojme te nderfaqa IDispatch
pIDispatch->GetUIDofNames(......); // marrim funksionet e VTBL qe do ti perdorim me vone ne pIDispatch->Invoke(...) me vone
dhe pastaj mund te veprosh si ne rastin e VBScript duke thirrur funksionet dhe ndryshuar properties te objektit nepermjet Invoke() te permendur me siper.
Nje variant tjeter eshte me ODBC ose ADODB. Une nuk e njoh mire por te jep mundesine te punosh me dokumentin ne formen e nje database, dmth me ane te SQL.
Ne fillim duhet te krijosh "connection string" duke perdorur si "driver"
"{Microsoft excel documents (*.xls)}", ose dicka te ngjashme.
Per me teper konsulto SDK(standard developement kit) te Microsoft Windows ose ODBC SDK nese perdor ODBC.
Nese vendos te perdoresh VBScript ose JScript shiko "Help" te excel per VBA ku pershkruhen te gjitha funskionet e ActiveX te Excel. Megjithese kjo e fundit me duket se nuk keshillohet me nga Microsoft.
Sigurisht sesi i perkthen ne Delphi eshte komplet detyra jot se une as qe jam kam idene
.
Me te mira.
Krijoni Kontakt