void __fastcall TForm1::BitBtn1Click(TObject *Sender){Variant App, Sh;String File; try { App=Variant::GetActiveObject("Excel.Application"); } catch(...){ // Excel не запущен - запустить его try { App=Variant::CreateObject("Excel.Application"); } catch (...) { Application->MessageBox("Невозможно открыть Microsoft Excel!" "Возможно Excel не установлен на компьютере.","Ошибка",MB_OK+MB_ICONERROR); } } try { if(File!="") App.OlePropertyGet("WorkBooks").OleProcedure("Open",File.c_str()); else App.OlePropertyGet("WorkBooks").OleProcedure("add"); Sh=App.OlePropertyGet("WorkSheets",1); } catch(...) { Application->MessageBox("Ошибка открытия книги Microsoft Excel!", "Ошибка",MB_OK+MB_ICONERROR); } // Даем название нашему листу "Наш лист итогов" Sh = App.OlePropertyGet("Worksheets").OlePropertyGet("Item", 1); Sh.OlePropertySet("Name", "123"); //------------------- // Сохраняем файл как "Firm.xls" App.OlePropertySet("DisplayAlerts", false); App.OlePropertyGet("WorkSheets",1).OleProcedure("SaveAs","Firm.xls"); //закрытие файла try{ App.OlePropertyGet("WorkBooks",1).OleProcedure("Close"); }catch(...){ ShowMessage("Не забудьте сами закрыть Excel."); } // закрыть сам ExcelApp.OleProcedure("Quit");}
try { try { App = NULL; App = Variant::GetActiveObject("Excel.Application"); } catch(EOleSysError& err) { // ошибка чисто OLE сервера Application->ShowException(&err); throw; } catch(Exception& err) { // другая ошибка, образованная от Exception Application->ShowException(&err); throw; } catch(...) { // вообще "левая" ошибка... throw; }}catch(...) { try { App = NULL; App = Variant::CreateObject("Excel.Application"); } catch(EOleSysError& err) { // ошибка чисто OLE сервера Application->ShowException(&err); return; } catch(Exception& err) { // другая ошибка, образованная от Exception Application->ShowException(&err); return; } catch(...) { // вообще "левая" ошибка... return; }}
oBook = App.OlePropertyGet("WorkBooks").OleProcedure("Add"); // создаем новую книгуoBook.OleProcedure("SaveAs", WideString(IncludeTrailingBackslash(ExtractFileDir(Application->ExeName)) + "DIR\\Firm.xls")); // сохраняем книгу в подпапку DIR
_fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner){ try { App=Variant::GetActiveObject("Excel.Application"); } catch(...){ // Excel не запущен - запустить его try { App=Variant::CreateObject("Excel.Application"); } catch (...) { Application->MessageBox("Невозможно открыть Microsoft Excel!" "Возможно Excel не установлен на компьютере.","Ошибка",MB_OK+MB_ICONERROR); } } try { if(File!="") App.OlePropertyGet("WorkBooks").OleProcedure("Open",File.c_str()); else App.OlePropertyGet("WorkBooks").OleProcedure("add"); Sh=App.OlePropertyGet("WorkSheets",1); } catch(...) { Application->MessageBox("Ошибка открытия книги Microsoft Excel!", "Ошибка",MB_OK+MB_ICONERROR); } // Даем название нашему листу "Наш лист итогов" Sh = App.OlePropertyGet("Worksheets").OlePropertyGet("Item", 1); Sh.OlePropertySet("Name", "5555"); //------------------- // Сохраняем файл как "Firm.xls" App.OlePropertySet("DisplayAlerts", false); App.OlePropertyGet("WorkSheets",1).OleProcedure("SaveAs",WideString(IncludeTrailingBackslash(ExtractFileDir(Application->ExeName)) + "123\\123.xls")); }
ComboBox1->Text==str1;Label10->Text=str1;
{ try { App=Variant::CreateObject("Excel.Application"); } catch (...) { Application->MessageBox("?????????? ??????? Microsoft Excel!" "бла0-бла-бла",MB_OK+MB_ICONERROR); } App.OlePropertyGet("Application").OlePropertyGet("Workbooks").OleProcedure("Open",WideString(IncludeTrailingBackslash(ExtractFileDir(Application->ExeName)) + "123\\Firm.xls")); // App.OlePropertySet("SheetsInNewWorkbook", 1); }
App.OlePropertyGet("Application").OlePropertyGet("Workbooks").OlePropertyGet("Item",1);
ce=App.OlePropertyGet("Cells").OlePropertyGet("Range","A1:?");
App.OlePropertyGet("Workbooks").OlePropertyGet("Item",1); n=1; ce=App.OlePropertyGet("Cells").OlePropertyGet("Cells",n,1); res=ce.OlePropertyGet("Text"); for(;!res.IsEmpty();) { n++; ce=App.OlePropertyGet("Cells").OlePropertyGet("Cells",n,1); res=ce.OlePropertyGet("Text"); Label7->Caption=res;}
while( !res.IsEmpty()||!res.IsNully() ) { n++; ce=App.OlePropertyGet("Cells").OlePropertyGet("Cells",n,1); res=ce.OlePropertyGet("Text"); Label7->Caption=res; }
void __fastcall TForm1::ComboBox1Change(TObject *Sender){ str1=ComboBox1->Text; cell= Find(str1, row); Label10->Caption=cell; App.OlePropertyGet("Workbooks").OlePropertyGet("Item",1); ce=App.OlePropertyGet("Cells").OlePropertyGet("Cells",cell,2); res=ce.OlePropertyGet("Text"); Label7->Caption=res; }
void __fastcall TMainForm::LoadCombo(TComboBox* pCombo, // наш комбобоксconst Variant& AWorkSheet, // лист Excel (уже открытый)const String& AAddress) // адрес диапазона (например "A1:A10"){ pCombo->Items->Clear(); pCombo->Items->BeginUpdate(); try { Variant vCells = AWorkSheet.OlePropertyGet("Range", WideString(AAddress)).OlePropertyGet("Cells"); const int nCount = vCells.OlePropertyGet("Count"); for(int i=1; inCount; i++) { pCombo->Items->Add(vCells.OlePropertyGet("Item", i).OlePropertyGet("Value")); } } __finally { pCombo->Items->EndUpdate(); }}
LoadCombo(ComboBox1, wSheet, "A1:A10");
ComboBox1->Items->Add(AnsiString(res));