-
Привет всем не могу разобраться с выгрузкой из 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;
Код компилируется..однако при выполнении происходит исключительная ситуация. Скажите пожалуйста в чем может быть проблема уже пару дней бьюсь над проблемой не могу разобраться. Сохранение всей книги не подходит..так как там много графиков и нельзя из них найти необходимый.
-
> при выполнении происходит исключительная ситуация
Какая конкретно ?
-
Book не инициализирован.
-
я просто не приводил весь кодю инициализацию книги делаю вот так:
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);
-
> 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);
вообще похоже)
> Какая конкретно ?
-
погорячился... но 1.какая? 2.инициализацию book не увидел
-
Исключительная ситуация TOleException происходит при выходе из процедуры в которой содержиться приведенный код. Я так думаю что связана ошибка c строкой кода
Book.PublishObjects.Add(xlSourceChart,
Path,
Sheet.Name,
AShape.Name,
xlHtmlStatic,
EmptyParam,
EmptyParam).Publish(false);
так как при ее коментировании ошибка пропадает....
-
> выходе из процедуры
откуда такая уверенность?
-
выявил в результате закоментирования строки....
-
> выявил в результате закоментирования строки
А про встроенный в Делфи отладчик ты, конечно, ничего не слыхал..
> Исключительная ситуация TOleException
Класс исключения сам по себе не интересен.
Приводи код ошибки (см. TOleException.ErrorCode) и дословный текст сообщения об исключении
|