Witam wszystkich,
Napisałem kod który ma za zadanie wysyłać wyniki do poszczególnych komórek w excelu. Wszystko działa tak jak powinno jednak chciałbym zmienić jedną rzecz. Obecnie program ma narzuconą lokalizację : "d:\Raport.xlsx" i stwarza to problem w momencie gdy chciałbym uruchomić program na innym komputerze (sporadyczny przypadek - ktoś nie ma partycji "d" - w związku z tym nie umieści tam pliku excela)
Chciałbym żeby program albo pytał o lokalizację pliku albo miał domyślnie ustawioną tą samą lokalizacje z której odpalany jest program.
Jeśli ktoś zna odpowiedź to bardzo proszę o pomoc.
Poniżej fragment kodu:
Variant XL,v0,v1,v2,v3;
double B11 = (StrToFloat(Edit1->Text)) ;
double Ar11 = (StrToFloat(Edit2->Text)) ;
XL=Variant::CreateObject("Excel.Application");
XL.OlePropertySet("Visible",false);
XL.OlePropertyGet("Workbooks").OleProcedure("Open","c:\Raport.xlsx");
v0=XL.OlePropertyGet("Workbooks");
v1=v0.OlePropertyGet("Item",1);
v2=v1.OlePropertyGet("WorkSheets");
v3=v2.OlePropertyGet("Item",1);
char temp[10];
sprintf(temp,"%lf",B11);
v3.OlePropertyGet("Cells").OlePropertyGet("Item",2,2).OlePropertySet("Value",temp);
sprintf(temp,"%lf",Ar11);
v3.OlePropertyGet("Cells").OlePropertyGet("Item",4,2).OlePropertySet("Value",temp);
XL.OlePropertySet("DisplayAlerts",false);
XL.OleProcedure("Save");
XL.OleProcedure("Quit");
XL=Unassigned;