Создание приложения Excel

Тема в разделе "Delphi - Система", создана пользователем dima_kds, 7 апр 2006.

Статус темы:
Закрыта.
  1. dima_kds

    dima_kds Гость

    Здравствуйте. Подскажите пожалуйста.
    Мне необходимо открыть приложение Excel из Delphi.
    Написал все как по книге.
    Код (Text):
    unit Unit1;

    interface

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

    type
    TForm1 = class(TForm)
     Button1: TButton;
     procedure CreateExcel(NewInstance: boolean);
     procedure ShowExcel;
    private
     { Private declarations }
     ExcelApp: TExcelApplication;
    public
     { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}


    procedure TForm1.CreateExcel(NewInstance: boolean);
    begin
    if not Assigned(ExcelApp) then begin
    ExcelApp := TExcelApplication.Create(Self);
    //if NewInstance then FIXLSApp.ConnectKind := NewInstance;
    ExcelApp.Connect;
    end;
    end;

    procedure TForm1.ShowExcel;
    begin
     if Assigned(ExcelApp) then begin
       ExcelApp.Visible[0] := true;
      if ExcelApp.WindowState[0] = TOLEEnum(xlMinimized) then
        ExcelApp.WindowState[0] := TOLEEnum(xlNormal);
        ExcelApp.ScreenUpdating[0] :=true;
     end;

    end;

    end.
    Но приложение не открывается. Единственное сообщение в Event Log: Module Load: MSCTF.dll. No Debug Info. Base Adress: $746E0000.
    Может дело в ОС или офисе, может .dll пропатчить нужно...не могу понять.
    Я использую ОС - ХР, офис - 2003(русский).
    Помогите кто может. Заранее благодарен.
     
  2. Barmutik

    Barmutik Гость

    Код (Text):
    var
    AExcel: OleVariant;
    begin
    try
     ExcelApp := GetActiveOleObject('Excel.Application');
    except
     try
      ExcelApp := CreateOleObject('Excel.Application');
     except
      MessageDlg(Can not open Microsoft Excel!', mtError, [mbOK], 0);
      Exit;
     end;
    end;
    .....
     ExcelApp.Visible := True;
    ......
    ExcelApp := UnAssigned;
    end;
     
  3. dima_kds

    dima_kds Гость

    Попробовал этот код...у меня не работает. Я уже пробовал четыре разных варианта, не помогло. Может всетаки дело в системе?
     
  4. Barmutik

    Barmutik Гость

    Хммм.. этот код гарантированно работает ... начиная с 98 системы и 97 офиса он проверялся сотни .. если не тысячи раз ...


    А вообще MS Excel на компьютере установленный есть?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей