Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: COM/DCOM/ActiveX/ATL/CORBA > Установка параметров листа Excel


Автор: фигурист 30.1.2014, 06:51
Добрый день всем!

Написал программу для передачи и сохранения данных в Excel. Все работало.
Сейчас решил ее немного модифицировать и возникла проблема.
Вот кусок кода программы
Код

  try { App1=Variant::CreateObject("Excel.Application");      }
  catch(...)
      {
      try { App1=GetActiveOleObject("Excel.Application");
      }
      catch (...)
        {Application->MessageBox("Невозможно открыть Microsoft Excel!"
            "Возможно Excel не установлен на компьютере.","Ошибка",MB_OK+MB_ICONERROR);  }
      }
try {  if(!App1.IsNull())
         {
         Books=App1.OlePropertyGet("WorkBooks");
         Books.OleProcedure("Add");
         Book=Books.OlePropertyGet("Item", 1);
         sheet = Book.OlePropertyGet("Worksheets");
         sheet.OlePropertyGet("Item",1);
         sheet.OlePropertyGet("Select");
         sheet.OlePropertySet("Name","1");


Вылетает ошибка  Project raised exception class EOleSysError with message "Неизвестное имя" 
на строке 
Код

sheet.OlePropertySet("Name","1");
.

Сделал макрос в Excel, посмотрел как там - не вижу у себя ошибок.
Помогите, пожалуйста, найти ошибку - сам я в тупике.

P.S.
Версия Builder - 6.0.

Автор: xvr 30.1.2014, 16:30
Name должно вызываться на конкретном экземпляре Worksheet, а не на всей коллекции Worksheets

Автор: akizelokro 22.2.2014, 03:54
Код

sheet.OlePropertyGet("Item",1);
         sheet.OlePropertyGet("Select");
         sheet.OlePropertySet("Name","1");


эт чё за код? поясни, что ты с ним собираешься делать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)