• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Не открывается файл 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, вроде всё правильно...
Вот так и спотыкаюсь на каждой фигне...
 
Всё чудно работает именно в таком формате! Только что попробовал!

App.Presentations.Open('xxx', EmptyParam, EmptyParam, EmptyParam);
 
Счастливый... (завистливо вздыхая...)
Написал такой код:
Код:
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".
 
Нууу.. что я тут могу сказать .. у меня аналогично и работает...Система: Windows XP SP1, Office.10 ...

Ну сейчас пойду на 2000 оффисе проверю ...
 
Там будет то же самое....

У меня как раз стоит Windows XP/ Office XP(10).
Всё равно спасибо.
 
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;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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

Курс AD