Открытие Excel документа
От: AlexFV  
Дата: 29.10.04 06:16
Оценка:
Необходимо открыть документ взять данные
и закрыть.


procedure TfmMain.btDiskClick(Sender: TObject);
var
  ExcelApp, Workbook, Sheet, Range, Cell1, Cell2, ArrayData: Variant;
  TemplateFile, sTemp : String;
  BeginCol, BeginRow, i, j : integer;
  RowCount, ColCount : integer;
  FileName: OleVariant;
begin
 if odOpenExcelDoc.Execute then
  begin
     FileName := odOpenExcelDoc.FileName;
  end;
 try
    // Создание Excel
    ExcelApp := CreateOleObject('Excel.Application');

    // открытие ВУБ-12
    ExcelApp.Workbooks.Open(FileName);

    // Делаем активным рабочий лист с именем 'Карточка учета'
    ExcelApp.WorkSheets['Карточка учета'].Activate;

    Workbook := ExcelApp.ActiveWorkBook;

    RowCount := ExcelApp.ActiveSheet.UsedRange.Rows.Count; //номер последней записи в активной странице
    ColCount := ExcelApp.ActiveSheet.UsedRange.Columns.Count; //номер последней колонки в активной странице

    ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant);  //создания массива для передачи данных из Excel

    Range := ExcelApp.Range[ExcelApp.Cells[1, 1], ExcelApp.Cells[RowCount, ColCount]];  //выделение области ячеек для передачи данных в массив
    ArrayData := Range.Value;  //передача данных в массив

    Workbook.Saved := True;
    Workbook.Close;

    ExcelApp.Quit;
  finally
    ExcelApp := UnAssigned;  // Returns an "empty" variant
  end;
end;


Но при закрытии Workbook.Saved := True возникает ошибка.

При самом открытии документа выплывает окно:
"Книга содержит форму пользователя или модуль класса",
где требуется нажать "ОК".
Т.е. в программе еще нет активного WookBook.

Вопрос: как при открытие документа программно отрубить, чтоб данное сообщение не вываливалось, а просто открывался документ.
Re: Открытие Excel документа
От: Sheridan Россия  
Дата: 29.10.04 06:20
Оценка:
Вот статья, которая мне нравится...
-=RSDN@Home 1.1.4 beta 3 rev. 214=- [Rammstein — Spieluhr]
Matrix has you...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.