1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
Скрыть объявление

Уважаемый Гость, в 23:30 по мск форум будет закрыт на профилактику на 1,5 часа до 01:00 24.10.2017

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

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

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

    dima_kds Гость

    Репутация:
    0
    Здравствуйте. Подскажите пожалуйста.
    Мне необходимо открыть приложение Excel из Delphi.
    Написал все как по книге.
    Код:
    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 Гость

    Репутация:
    0
    Код:
    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 Гость

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

    Barmutik Гость

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


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

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