Не открывается файл Powerpoint

Тема в разделе "Delphi - СОМ", создана пользователем Mick Winder, 10 фев 2005.

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

    Mick Winder Гость

    Написал такой кодик:
    App.Presentations.Open('E:\TablToPwPt\test.ppt');
    Выдает сообщение об ошибке:
    Presentations.Open: Invalid request The PowerPoint Frame windows does not exist
    Не могу понять, в чём дело? Посмотрел в TLB, вроде всё правильно...
    Вот так и спотыкаюсь на каждой фигне...
     
  2. Barmutik

    Barmutik Гость

    Всё чудно работает именно в таком формате! Только что попробовал!

    App.Presentations.Open('xxx', EmptyParam, EmptyParam, EmptyParam);
     
  3. Mick Winder

    Mick Winder Гость

    Счастливый... (завистливо вздыхая...)
    Написал такой код:
    Код (Text):
    unit ComObj, ActiveX;

    var
    Form1: TForm1;
    ServerIsRunning: Boolean;
    Unknown:     IUnknown;
    Result:     HResult;
    AppProgID:    String;
    App: Variant;
    FilePr: String;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    // Открытие файла PowerPoint
    AppProgID:= 'PowerPoint.Application';
    ServerIsRunning:= False;
    Result:= GetActiveObject(ProgIDToClassID(AppProgID), nil, Unknown);
    if (Result = MK_E_UNAVAILABLE) then
    App:= CreateOleObject(AppProgID)
    else begin
    App:= GetActiveOleObject(AppProgID);
    ServerIsRunning:= True;
    end;
    //----------------------------------------------------------
    FilePr:= 'E:\Presentation1.ppt';
    App.Presentations.Open(FilePr, EmptyParam, EmptyParam, EmptyParam);
    //----------------------------------------------------------
    App.Visible:= True;
    end;
    Всё как ты посоветовал... Вызывает ошибку "Type mismatch".
     
  4. Barmutik

    Barmutik Гость

    Нууу.. что я тут могу сказать .. у меня аналогично и работает...Система: Windows XP SP1, Office.10 ...

    Ну сейчас пойду на 2000 оффисе проверю ...
     
  5. Mick Winder

    Mick Winder Гость

    Там будет то же самое....

    У меня как раз стоит Windows XP/ Office XP(10).
    Всё равно спасибо.
     
  6. Mick Winder

    Mick Winder Гость

    Barmutik

    Вот код, который у меня получился :angry:

    Код (Text):
    uses
    ComObj;

    var
     PowerPointApp: OLEVariant;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    try
     PowerPointApp := CreateOleObject('PowerPoint.Application');
    except
     ShowMessage('Error...');
     Exit;
    end;
    PowerPointApp.Visible := True;
    PowerPointApp.Presentations.Open('e:\Presentation1.ppt', False, False, True);
    end;
     
  7. Barmutik

    Barmutik Гость

    Ну главное что получилось :angry:
     
Загрузка...
Статус темы:
Закрыта.

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