• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

Mick Winder

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

Barmutik

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

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

Mick Winder

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

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

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

Mick Winder

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

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

Mick Winder

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;
 
B

Barmutik

Ну главное что получилось :angry:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!