Показать сообщение отдельно
  #7  
Старый 26.03.2009, 11:26
WinnyThePooh WinnyThePooh вне форума
Прохожий
 
Регистрация: 16.02.2009
Сообщения: 31
Репутация: 10
Печаль Не понимаю...

Вот пример кода, аналогичного тому, что я использую:

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    XLApp, XLWB, Sheet, Colum, shRange: OLEvariant;
  end;

var
  Form2: TForm2;
const
  xlCenter: integer= -4108;
  xlTop: integer= -4160;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
   XLApp:=CreateOleObject('Excel.Application');
  XLApp.Visible:=True;
  XLWB:=XLApp.Workbooks.Add;
  XLWB.WorkSheets[1].Name:='Отчет';

  Colum:=XLWB.WorkSheets['Отчет'].Columns;
  Colum.Columns[1].ColumnWidth:=40;
  Colum.Columns[2].ColumnWidth:=20;
  Colum.Columns[3].ColumnWidth:=10;
  Colum.Columns[4].ColumnWidth:=20;

  Colum:=XLWB.WorkSheets['Отчет'].Rows;
  Colum.Rows[1].RowHeight:=80;

  Sheet:=XLWB.WorkSheets['Отчет'];
  Sheet.Cells[1,1]:='ОТЧЕТ';
  Sheet.Cells[1,1].Font.Size:=20;
  Sheet.Cells[1,1].Font.Bold:=True;
  Sheet.Cells[1,1].HorizontalAlignment:=xlCenter;
  Sheet.Cells[1,1].VerticalAlignment:=xlTop;
  shRange:=Sheet.Range['A1:D1'];
  shRange.select;
  shRange.MergeCells := True;

  //Включаем режим Print Prevew
  Sheet.PrintPreview;

  //Отцепляем переменные
  XLWB:=UnAssigned;
  XLApp:=UnAssigned;

end;

end.

Кнопка на форме. По кнопке вызывается Excel, в который транслируются команды ~VBA для формирования отчета.
Все отрабатывает нормально. Лист формируется.
При попытке закрыть Excel БЕЗ предварительного закрытия вызвавшей программы выдается ошибка, описанная мною выше, а потом еще выскакивает message с ещё более "странным" сообщением (см. приложенный jpg).
Что тут может происходить?
Изображения
Тип файла: jpg ExcelErrorMessage01.jpg (38.2 Кбайт, 10 просмотров)
Ответить с цитированием