Wysyłanie danych do pliku excel'a

0

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;

0

Pierwsza myśl -> użyć OpenFileDialog? Niech użytkownik wskaże gdzie ten plik się znajduje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1