PowerPoint 프레젠테이션을 열어야합니다. 아래의 진술을 사용하고 있습니다.두 번째 프레젠테이션 열기 실패 - Delphi XE2 + Windows 8
바르 PPT : _Application; pres : _Presentation;
try
ppt := GetActiveOleObject('PowerPoint.Application') as _Application;
except
ppt := CreateOleObject('PowerPoint.Application') as _Application ;
end;
ppt.Visible := msoTrue;
try
pres := ppt.Presentations.Open(FPOTX, msoFalse, msoTrue, msoTrue);
except
on e:exception do begin
printtofile('Error in call to ppt.Presentation.Open' + e.message);
end;
end;
예외가 발생하면 CreateOleObject()가 호출 될 때마다 정상적으로 작동합니다. (즉, 프리젠 테이션이 이미 열려 있지 않음).
그러나 하나의 프리젠 테이션이 이미 열려있는 경우 위의 문은 실패합니다. (즉, GetActiveOleObject() 함수 다음에 ppt.Presentations.Open()이 호출됩니다. 델파이 XE2를 사용
, MS 오피스 2013, 윈도우 8
이 7 감사합니다 사전에없는 윈도우에서만 윈도우 8에 실패합니다. 문제가 어디에 귀하의 델파이 또는 Office 또는 Windows 버전의 경우
-1 "실패"는 좋은 문제 설명이 아닙니다. 그리고이 질문은 친숙한 것 같습니다. 이전 버전을 삭제하고 다시 묻는 것 같습니다. 그것은 그것이 실제로 어떻게 작동하는지 아닙니다. 그리고 적어도 다시 묻는다면 지난 번에했던 것처럼 모든 문제 개선 작업을 다시해야하지 마십시오. 그래서 우리가 다시 오류 메시지 등을 드래그하지 마십시오. 우리는 이미 그것을 한 번했습니다. 왜 다시해야합니까? –
@ 데이비드, 당신은 아마 의미 ['이 one'은] (http://stackoverflow.com/q/24326026/960757) ... – TLama
@TLama 예, 그것은 하나입니다. 웬일인지 나는 그것을 발견 할 수 없었다. 그리고 (다른 사용자가 물었 기 때문에) 속임수로 투표를 마감 할 수는 없습니다. 그래서 누군가가 그들 중 한 사람에게 대답을 쓸 때까지, 묻는 사람은 계속 새로운 계정을 만들고 새로운 질문을 할 수 있습니다. –