Здравствуйте

Помогите чайнику!!!!
Существует такая задача …. Есть ActiveX объект, который получает из приложения некоторые данные, обрабатывает их и получает результаты. Эти результаты необходимо выводить в таблицу Excel. Вопрос: как из ActiveX объекта создать книгу Excel и заполнить столбец таблицы? …. спасибо
Здравствуйте, jen2000, Вы писали:
J>Существует такая задача …. Есть ActiveX объект, который получает из приложения некоторые данные, обрабатывает их и получает результаты. Эти результаты необходимо выводить в таблицу Excel. Вопрос: как из ActiveX объекта создать книгу Excel и заполнить столбец таблицы? …. спасибо
#define MSO_PATH "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\mso.dll"
#define VBE_PATH "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\vbe6ext.olb"
#define EXCEL_PATH "D:\\Program Files\\Microsoft Office\\OFFICE11\\excel.exe"
#import MSO_PATH \
rename("RGB", "MsoRGB") \
rename("DocumentProperties", "MsoDocumentProperties")
#import VBE_PATH
#import EXCEL_PATH \
rename("DialogBox", "ExcelDialogBox") \
rename("RGB", "ExcelRGB") \
rename("CopyFile", "ExcelCopyFile") \
rename("ReplaceText", "ExcelReplaceText")
int main()
{
HRESULT hRes = ::CoInitialize(NULL);
ATLASSERT(SUCCEEDED(hRes));
try
{
Excel::_ApplicationPtr excel_app;
HRESULT hr = excel_app.CreateInstance(__uuidof(Excel::Application));
Excel::_WorkbookPtr book = excel_app->Workbooks->Add();
Excel::_WorksheetPtr sheet = book->Worksheets->Item[1L];
////////////////////////////////////////////////////////
Excel::RangePtr row_rng = sheet->Rows->Item[1L];
Excel::RangePtr cell = row_rng->Cells->Item[1L];
cell->FormulaR1C1 = L"Hello, world!";
////////////////////////////////////////////////////////
excel_app->Visible[0] = VARIANT_TRUE;
}
catch (_com_error const &e)
{
HRESULT err = e.Error();
cerr << "COM Error:" << endl;
cerr << e.ErrorMessage() << endl;
cerr << (LPCSTR)e.Description() << endl;
}
::CoUninitialize();
return 0;
}