Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Сохранение измененного Excel документа


Автор: demoded 26.3.2007, 08:08
вот код:
Код

  if FileIn1='' then Exit;
  Excel1.Connect;
  Excel1.Workbooks.Open(FileIn1, EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, LOCALE_USER_DEFAULT);
  Excel1.Visible[0]:=false;
  WorkBook1:=Excel1.Workbooks.Item[1];
  WorkSheet1:=WorkBook1.Worksheets.Get_Item(1) as _WorkSheet;
  if Format('%s',[WorkSheet1.Cells.Item[1,1].Value])='' then
    begin
      WorkSheet1.Range['A1','A65535'].Delete(1);
      WorkSheet1.Range['A1','Z1'].Delete(2);
    end;
  WorkBook1.Close(true,EmptyParam,EmptyParam,LOCALE_USER_DEFAULT);
  Excel1.Quit;
  Excel1.Disconnect;


удаляет ячейки корректно, сохраняется и выходит, НО
Открываем измененный документ - все хорошо.
ничего не меняя закрываем Excell - Microsoft Office Excel - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.

Автор: demoded 26.3.2007, 12:10
проблема решилась сама-собой...
перед закрытием и выходом добавил
Код

  WorkSheet1.Range['A1','A1'].ColumnWidth:=50;
  WorkSheet1.Range['A1','A1'].RowHeight:=21;


в документе строка '1' и столбец 'А' были 0-й ширины
видимо это мешало.

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