2010-03-06 11 views
5

C# .net에서 PowerPoint를 사용해야하는 프로젝트에서 작업하고 있습니다. 처음에는 항상 하나의 인스턴스 만 만들었습니다. 오늘 현재 여러 인스턴스를 실행하고 싶습니다.PowerPoint의 여러 인스턴스를 만들 수 없습니다.

Type powerpointType = Type.GetTypeFromProgID("PowerPoint.Application"); 

object instance1 = Activator.CreateInstance(powerpointType); 
object instance2 = Activator.CreateInstance(powerpointType); 

하지만 두 인스턴스의 핸들을 요청하는 경우, 호출하여

hwnd = (int)powerpointType.GetProperty("HWND").GetValue(instance1, null); 

다음 나는 두 번 같은 핸들을 얻을 : 그래서 같은 것을 할. 결론은 애플리케이션이 한 번만 시작되고 TaskManager가 다음을 확인한다는 것입니다.

어떻게 PowerPoint 인스턴스가 하나만 실행되고 어떻게 작동합니까?

답변

4

여러 인스턴스 대신 단일 인스턴스에서 여러 개의 열린 프레젠테이션을 참조하는 것이 좋습니다.

사용자가 마지막으로 열어 본 프리젠 테이션이 아니라면 한 프레젠테이션을 닫고 PPT를 열어 둘 수 있습니다.

2

PowerPoint와 Word는 동일한 인스턴스를 공유합니다. 반면 Excel에서는 여러 인스턴스를 가질 수 있습니다. 두 개의 인스턴스를 실행하려면 다른 인스턴스로 다른 인스턴스를 시작해야합니다.

왜 여러 인스턴스가 필요합니까? 두 대의 모니터에 두 개의 프리젠 테이션을 보여줄 수 있습니까?

+0

내가 쓰고있는 앱은 PowerPoint 프레젠테이션을 프리젠 테이션하는 데 사용됩니다. 프레젠테이션을 열 (일종의 작업 영역)에 추가하면 해당 열은 ppt의 슬라이드 축소판으로 채워 져야합니다. PowerPoint가 필요합니다. 그 후에, ppt. 또한 PowerPoint를 시작합니다. 이러한 일들은 동시에 일어날 수 있어야하며 ppt를 열 수 있어야하며 ppt로 다른 열을 종료 할 수 있어야합니다. – Excel20

+1

그러면 다른 사용자로 두 개의 인스턴스를 실행하거나 여러 개의 창으로 작업해야하는 Office 2010 (베타)의 PowerPoint를 사용해야합니다. –

+1

@MikaelSvenson Powerpoint 공유 인스턴스 1 개, Word 및 Excel은 1 개의 인스턴스를 공유하지 않습니다. – Paul

1

미카엘에 대한 귀하의 의견을 토대로 다른 해결책이 있습니다. 이것은 VBA이지만 C#으로 쉽게 이식 가능합니다. 프레젠테이션 (숨김)을 열고 각 슬라이드를 PNG로 내 보냅니다. 그런 다음 해당 PNG를 열에 표시 할 수 있습니다.

Dim ap As Presentation 
Set ap = Presentations.Open(FileName:="yourppt.pptx", WithWindow:=msoFalse) 
Dim s As Slide 
For Each s In ap.Slides 
    s.Export s.Name, "PNG" 
Next 

누군가가 무엇인가를 클릭하면, 첫 번째 것이 닫히고 새로운 PPT가 표시 될 수 있습니다.

+0

이 기술을 이미 열에 사용하고 있지만 슬라이드의 애니메이션을 무시하고 첫 번째/마지막 상태 만 보여주기 때문에 표시하기에 충분하지 않습니다. – Excel20

+0

@ Excel20 : 예, 의도였습니다. 열에 슬라이드를 표시 할 수있는 가벼운 무게 방법을 사용할 수 있습니다. 그런 다음 데크를로드 할 수 있습니다. –

4

This link은 새 사용자 계정을 사용하여 여러 PowerPoint 인스턴스를 만드는 방법에 대해 설명합니다. 항상 같은 컴퓨터에서 실행하면 좋지만 배포가 특히 쉬운 것은 아닙니다. 사용자가 PDF로 PPT (X)를 저장 2007

+0

앱이 수백 명의 사용자들 사이에 배포 될 가능성이 있으며, 컴퓨터 기술이 거의 또는 전혀없는 경우가 많기 때문에 이는 바람직하지 않습니다. – Excel20

-1

적어도 PDF 별도의 인스턴스

으로 열 수 있습니다

당신은 다시 .DOC로 저장할 수 있습니다

는 (프로 애크로뱃의 나의 버전은 9.5.2이다); .doc은 괜찮지 만 완벽하지는 않지만 적어도 .doc과 .ppt (x) 사이에서 잘라내어 붙여 넣을 수 있습니다.

BTW - Word 2007은 각 문서를 별도의 인스턴스로 엽니 다. 내 설치에서는 IT 담당자가 설치를 수행합니다.

관련 문제