Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.134.107] |
|
Сообщ.
#1
,
|
|
|
Ребята, снова к вам!
очень нужна помощь! Пытаюсь сделать выгрузку в Еxcel, но так чтобы была возможность открывать уже существующий документ, вот что нарыла сейчас, здесь все работает, но создается новый файл, как добавить еще и открытие существующего?? Очень-очень надо! Помогите, пожалуйста! Variant app, books, book, sheet, Rang, vCell; app = CreateOleObject("Excel.Application"); app.OlePropertySet("Visible",true); books = app.OlePropertyGet("Workbooks"); books.OleProcedure("Add"); book = books.OlePropertyGet("Item",1); sheet = book.OlePropertyGet("WorkSheets",StrToInt(ComboBox2->Text)); //Noi?ie?iaaee e caienaee aa?eaioiue iannea ec StringGrid String S; const int bounds[4] = {0, Form1->StringGrid2->RowCount, 0, Form1->StringGrid2->ColCount}; Variant vData = VarArrayCreate(bounds, 3, varVariant); for(int i = 0; i <Form1-> StringGrid2->RowCount; i++) { if((Form1->StringGrid2->Cells[0][i]).IsEmpty()) S = ""; else S = Form1->StringGrid2->Cells[0][i]; vData.PutElement(S, 0, i); } for(int i = 0; i <Form1-> StringGrid2->RowCount; i++) { if((Form1->StringGrid2->Cells[3][i]).IsEmpty()) S = ""; else S = Form1->StringGrid2->Cells[3][i]; vData.PutElement(S, 1, i); if ( CheckBox1->Checked==true ) { } } vData.PutElement(Edit1->Text, StrToInt(ComboBox3->Text), Form1->StringGrid2->RowCount); Rang = sheet.OlePropertyGet("Range",sheet.OlePropertyGet("Cells",StrToInt(ComboBox3->Text),StrToInt(ComboBox4->Text)), sheet.OlePropertyGet("Cells",(Form1->StringGrid2->RowCount)+StrToInt(ComboBox3->Text),(Form1->StringGrid2->ColCount)+StrToInt(ComboBox4->Text))); Rang.OlePropertySet("WrapText", false); Rang.OlePropertySet("Value",vData); //Ioi?ieyai oe?eio noieaoia for(int i = StrToInt(ComboBox4->Text)-1; i < (Form1-> StringGrid2->ColCount)+StrToInt(ComboBox4->Text)-1; i++) { Variant Clmn = sheet.OlePropertyGet("Cells", 1, i + 1).OlePropertyGet("EntireColumn"); Clmn.OleFunction("AutoFit"); } //Ioi?ieyai au?aaieaaiea e o?eoo oaiee vCell = sheet.OlePropertyGet("Range",sheet.OlePropertyGet("Cells",1,1),sheet.OlePropertyGet("Cells",1,Form1->StringGrid2->ColCount)); vCell.OlePropertySet("HorizontalAlignment",-4108); vCell.OlePropertyGet("Font").OlePropertySet("Bold",true); |
Сообщ.
#2
,
|
|
|
Сообщ.
#3
,
|
|
|
Bas, Спасибо! все получилось!
|