Кажется, я только что нашел! это то, что у меня есть, и вроде работает.
function GetPPTDurationSec(pPPTFileName: String): Integer;
var
oPPTApp: OleVariant;
oPPTPresenation: OleVariant;
iX, iTotalSlides, iSlideTime, iTotalTime: Integer;
begin
Try
Result := 0;
oPPTApp := CreateOleObject('PowerPoint.Application');
oPPTPresenation := oPPTApp.Presentations.Open(pPPTFileName, True, True, False);
iTotalSlides := oPPTPresenation.Slides.Count;
iTotalTime := 0;
for iX := 1 to iTotalSlides do
begin
iSlideTime := oPPTPresenation.Slides.Item(iX).SlideShowTransition.AdvanceTime;
iTotalTime := iTotalTime + iSlideTime;
end;
oPPTPresenation.Close;
oPPTApp.Quit;
Result := iTotalTime;
Except
Result := 0;
End;
end;