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

  • Автор темы Mick Winder
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Mick Winder

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

Barmutik

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

App.Presentations.Open('xxx', EmptyParam, EmptyParam, EmptyParam);
 
M

Mick Winder

#3
Счастливый... (завистливо вздыхая...)
Написал такой код:
Код:
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".
 
B

Barmutik

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

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

Mick Winder

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

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

Mick Winder

#6
Barmutik

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

Код:
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;
 
Статус
Закрыто для дальнейших ответов.