Конференция "Основная" » выгрузка chartobject-а в html [D7, Win95/98, NT4, Win2k, WinXP]
 
  • yaric (26.06.08 14:56) [0]
    Привет всем не могу разобраться с выгрузкой из Excel отдельного Chart в Html. По примерам с инета пришел к такому коду:

             var Book:_WorkBook;
                  Sheet:_WorkSheet;
                  AShape:ExcelXp.Shape;
                  Path:TFileName;
             begin  
                       ...............
                       Path:=ExtractFilePath(Application.ExeName)+'1.htm';          
                       Book.Activate(lcid);
                       Book.PublishObjects.Add(xlSourceChart,
                                               Path,
                                               Sheet.Name,
                                               AShape.Name,
                                               xlHtmlStatic,
                                               EmptyParam,
                                               EmptyParam).Publish(false);
            end;




    Код компилируется..однако при выполнении происходит исключительная ситуация. Скажите пожалуйста в чем может быть проблема уже пару дней бьюсь над проблемой не могу разобраться. Сохранение всей книги не подходит..так как там много графиков и нельзя из них найти необходимый.
  • Сергей М. © (26.06.08 20:04) [1]

    > при выполнении происходит исключительная ситуация


    Какая конкретно ?
  • Anatoly Podgoretsky © (27.06.08 08:34) [2]
    Book не инициализирован.
  • yaric (01.07.08 10:47) [3]
    я просто не приводил весь кодю инициализацию книги делаю вот так:


     lcid:=0;
     lcid := GetUserDefaultLCId;
     fXL := TExcelApplication.Create(nil);
     try
             fXL.ConnectKind         := ckRunningOrNew;
             fXl.Application.AutomationSecurity := 1;
             fXL.DisplayAlerts[lcid] := False;
             fXL.AutoQuit            := False;
             fXL.Visible[lcid]       := false;
             fXL.Connect;

             Book:=(fxl.Workbooks.Add('c:\1.xls', lcid) as _Workbook);

  • brother © (01.07.08 11:09) [4]

    > var Book:_WorkBook;               Sheet:_WorkSheet;    
    >           AShape:ExcelXp.Shape;               Path:TFileName;
    >           begin                       ...............   
    >                  Path:=ExtractFilePath(Application.ExeName)+'1.
    > htm';                              Book.Activate(lcid);
    >                    Book.PublishObjects.Add(xlSourceChart,
    >                                             Path,      
    >                                      Sheet.Name,        
    >                                    AShape.Name,        
    >                                    xlHtmlStatic,        
    >                                    EmptyParam,          
    >                                  EmptyParam).Publish(false);
    >          end;

    и

    > lcid:=0;  lcid := GetUserDefaultLCId;  fXL := TExcelApplication.
    > Create(nil);  try          fXL.ConnectKind         := ckRunningOrNew;
    >           fXl.Application.AutomationSecurity := 1;      
    >    fXL.DisplayAlerts[lcid] := False;          fXL.AutoQuit
    >            := False;          fXL.Visible[lcid]       :=
    > false;          fXL.Connect;          Book:=(fxl.Workbooks.
    > Add('c:\1.xls', lcid) as _Workbook);

    вообще похоже)

    > Какая конкретно ?
  • brother © (01.07.08 11:18) [5]
    погорячился... но
    1.какая?
    2.инициализацию book не увидел
  • yaric (01.07.08 12:23) [6]
    Исключительная ситуация TOleException происходит при выходе из процедуры в которой содержиться приведенный код.
    Я так думаю что связана ошибка c строкой кода

    Book.PublishObjects.Add(xlSourceChart,
                                              Path,
                                              Sheet.Name,
                                              AShape.Name,
                                              xlHtmlStatic,
                                              EmptyParam,
                                              EmptyParam).Publish(false);


    так как при ее коментировании ошибка пропадает....
  • brother © (01.07.08 12:56) [7]
    > выходе из процедуры

    откуда такая уверенность?
  • big_yaric (01.07.08 23:23) [8]
    выявил в результате закоментирования строки....
  • Сергей М. © (02.07.08 00:41) [9]

    > выявил в результате закоментирования строки


    А про встроенный в Делфи отладчик ты, конечно, ничего не слыхал..


    > Исключительная ситуация TOleException


    Класс исключения сам по себе не интересен.

    Приводи код ошибки (см. TOleException.ErrorCode) и дословный текст сообщения об исключении
 
Конференция "Основная" » выгрузка chartobject-а в html [D7, Win95/98, NT4, Win2k, WinXP]
Есть новые Нет новых   [134491   +13][b:0][p:0.002]