2010-03-06 16 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); 

तो मैं एक ही संभाल दो बार मिलती है: मुझे लगता है कि इतना पसंद करते हैं। मेरा निष्कर्ष यह है कि एप्लिकेशन केवल एक बार शुरू किया गया है, और टास्कमेनगर यह सुनिश्चित करता है कि: केवल एक प्रक्रिया।

पावरपॉइंट के केवल एक उदाहरण कैसे चलते हैं, और मैं इसे कैसे काम कर सकता हूं?

उत्तर

4

कई उदाहरणों के बजाय, एक उदाहरण में एकाधिक खुले प्रस्तुतियों का संदर्भ क्यों नहीं देते?

जब कोई उपयोगकर्ता "कॉलम छोड़ता है," तो आप उस प्रस्तुति को बंद कर सकते हैं, लेकिन पीपीटी को तब तक छोड़ दें जब तक यह अंतिम खुली प्रस्तुति न हो।

2

पावरपॉइंट के साथ-साथ वर्ड एक ही उदाहरण साझा करता है। दूसरी तरफ एक्सेल आपको कई उदाहरण देता है। दो उदाहरण चलने के लिए आपको एक अलग उपयोगकर्ता के रूप में अन्य उदाहरण शुरू करने की आवश्यकता है।

आपको कई उदाहरणों की आवश्यकता क्यों है? दो मॉनीटर पर दो प्रस्तुतियों को दिखाने के लिए?

+0

मैं जिस ऐप को लिख रहा हूं वह है (कई अन्य चीजों के बीच) PowerPoint प्रस्तुतियों को प्रस्तुत करने के लिए। यदि आप किसी कॉलम (कार्यक्षेत्र के प्रकार) में प्रेजेंटेशन जोड़ते हैं, तो उस कॉलम को पीपीटी की स्लाइड के थंबनेल से भरा जाना चाहिए। वहां मुझे पावरपॉइंट की आवश्यकता है। उसके बाद, कोई पीपीटी पेश कर सकता है। यह पावरपॉइंट भी लॉन्च करता है। इन चीजों को एक ही समय में होने में सक्षम होना चाहिए, और आप एक पीपीटी के साथ एक और कॉलम छोड़कर एक पीपीटी खोलने में सक्षम होना चाहिए। – Excel20

+1

मुझे लगता है कि आपको अलग-अलग उपयोगकर्ताओं के तहत दो उदाहरण चलाने की आवश्यकता है, या Office 2010 (बीटा) से PowerPoint का उपयोग करना है जो एकाधिक विंडो के साथ काम करना है। –

+1

@MikaelSvenson पावरपॉइंट शेयर 1 उदाहरण, वर्ड और एक्सेल 1 उदाहरण साझा नहीं करते हैं। – Paul

1

माइकल को आपकी टिप्पणी के आधार पर, एक और समाधान है। यह वीबीए है, लेकिन सी # के लिए आसानी से पोर्टेबल है। बस प्रेजेंटेशन (छुपाएं) खोलें और प्रत्येक स्लाइड को पीएनजी के रूप में निर्यात करें। फिर आप उन पीएनजी को अपने कॉलम में प्रदर्शित कर सकते हैं।

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 

फिर, जब कोई कुछ क्लिक करता है, तो पहला व्यक्ति बंद कर सकता है और आपका नया पीपीटी दिखा सकता है।

+0

मैं इस तकनीक का उपयोग पहले से ही कॉलम में करता हूं, लेकिन यह दिखाने के लिए पर्याप्त नहीं है, क्योंकि यह स्लाइड पर एनिमेशन को अनदेखा करता है, और केवल पहला/अंतिम स्थिति दिखाता है। – Excel20

+0

@ एक्सेल 20: हाँ, यह इरादा था - आप कॉलम में स्लाइड दिखाने का हल्का वजन तरीका प्राप्त कर सकते हैं और फिर आप अपना डेक लोड कर सकते हैं। –

4

This link चर्चा करता है कि PowerPoint के कई उदाहरण बनाने के लिए नए उपयोगकर्ता खाते का उपयोग कैसे करें। यह ठीक काम करता है यदि आप हमेशा एक ही कंप्यूटर से इसे चला रहे हैं, लेकिन वितरित करना विशेष रूप से आसान नहीं है।

+0

यह बेहतर नहीं होगा, क्योंकि ऐप को सैकड़ों उपयोगकर्ताओं के बीच वितरित किया जा रहा है, संभवतः कम से कम कंप्यूटर कौशल के साथ। – Excel20

-1

उपयोगकर्ताओं को एक पीडीएफ के रूप में एक पीपीटी (x) को बचाने के 2007 के लिए

कम से कम पीडीएफ अलग उदाहरणों

के रूप में खोला जा सकता है

आप वापस .doc रूप में सहेज सकते (एक्रोबेट प्रो के अपने संस्करण 9.5.2 है); .doc ठीक है लेकिन सही नहीं है, लेकिन कम से कम मैं .doc और .ppt (x) के बीच काट और पेस्ट कर सकता हूं :-)

बीटीडब्ल्यू - वर्ड 2007 प्रत्येक दस्तावेज़ को एक अलग उदाहरण के रूप में खोलता है, कम से कम मेरी स्थापना में, हमारे आईटी लोगों द्वारा इंस्टॉल किया जा रहा है।

संबंधित मुद्दे