आप निम्नलिखित कोड आप काफी एक दिलचस्प परिणाम प्राप्त (केवल PowerPoint चल साथ, चल रहा से पहले Excel के पास सभी उदाहरणों) चलाते हैं:पावरपोइंट VBA - एंबेडेड एक्सेल OLE ऑब्जेक्ट में टेबल की editting स्तंभ नाम
'Optional - Include the "Microsoft Excel 16.0 Object Library"
Option Explicit
Public Sub test()
Dim oslide As slide
Set oslide = ActivePresentation.Slides.add(1, ppLayoutBlank)
Dim oshape As Shape
Set oshape = oslide.Shapes.AddOLEObject(30, 30, 50, 50, "Excel.Sheet")
oshape.OLEFormat.Object.Sheets(1).ListObjects.add(1) 'xlSrcRange
oshape.OLEFormat.Object.Sheets(1).Cells(1, 1) = "fewewq"
oshape.OLEFormat.Object.Close
End Sub
एम्बेडेड ऑब्जेक्ट सफलतापूर्वक बनाया गया है और निर्दिष्ट डेटा के साथ तालिका मौजूद है। हालांकि, जब आप एम्बेडेड वस्तु आपको निम्न त्रुटि प्राप्त पर क्लिक करें:
There isn't enough memory available to read Worksheet.
इस वस्तु नहीं रह किसी अन्य तरीके से पहुँचा जा सकता है, और वस्तु की भ्रष्ट प्रकृति पर करीब/खुला बनी रहती है दस्तावेज़ और पुनरारंभ करें। मैंने सत्यापित किया है कि यह समस्या सभी पर होती है लेकिन एक सिस्टम जिसे मैंने परीक्षण किया है (पावरपॉइंट/एक्सेल 2016, विंडोज 7 एक्स 64)।
प्रश्न
तो मेरे सवाल का, किसी और को इस पुन: पेश कर सकते हैं, और यदि हां क्यों हो रहा है? आप लाइन को बदलते हैं "कोशिकाओं (1, 1)" को "कोशिकाओं (2, 1)" वहाँ कोई समस्या नहीं है, ऐसा लगता है जैसे कि संपादन तालिका के सिर कि पंक्तियों या संपादन से अलग है विशेष व्यवहार के कुछ प्रकार का कारण बनता है अन्य कोशिकाएं
रिसर्च
वहाँ वास्तव में इस बारे में लिखा आवंटित नहीं है, सामान के सबसे इस विशेष मुद्दे से संबंधित नहीं है।
This post दावा करता है कि यह बहुत सारे फ़ॉन्ट के स्थापित (> 600) के साथ एक मुद्दा है। मैं इस परीक्षण किया है, मैं केवल 241 स्थापित ...
कोई जवाब (this, this, this, और this) के साथ पदों की एक पूरी बहुत सारे है वहाँ पर जाने के लिए आवंटित नहीं।
some posts हैं जो पूरी तरह से असंबंधित हैं, फिर पर जाने के लिए आवंटित नहीं हैं।
मैं एमएस वर्ड में एक ही कोड परीक्षण किया है, ठीक से काम करने लगता है, इस मुद्दे को लगता है PowerPoint
के लिए अलग मैं कोड (टूटी हुई वस्तु) में एक संस्करण कर की कोशिश की है, और एक अन्य हाथ से (काम करने वाली वस्तु), उन्हें बचाने और बाइनरी आउटपुट की तुलना (of only the embedded objects)। यह अच्छा लगता है, लेकिन यह मुझे कोई और अंतर्दृष्टि प्रदान नहीं करता है। मैं Excel के साथ एम्बेडेड ऑब्जेक्ट्स को अलग से नहीं खोल सकता क्योंकि ऑब्जेक्ट proprietary format में संग्रहीत किए जाते हैं। बाइनरी का केंद्रीय क्षेत्र अलग दिखाई देता है, लेकिन मुझे यकीन नहीं है कि कैसे या क्यों। अब तक मैंने इसे मानव पठनीय जानकारी में डीकोड करने का कोई तरीका नहीं खोजा है।
After a significant delay and with proper attribution, मैंने इसे the Microsoft forums पर पोस्ट किया है। शायद किसी के पास कुछ अंतर्दृष्टि है। मैं सक्रिय रूप से दोनों पदों को बनाए रखूंगा। अगर मैं 100% आश्वस्त था तो यह एक बग था, मैं opening an issue here पर भी विचार कर सकता हूं।
आप पूरी तरह से कभी OLEObject बंद करने नहीं द्वारा इस समस्या से बचने कर सकते हैं, इस वर्ष 2010 में समस्याओं का कारण बनता है, खासकर जब जुड़े चार्ट व्यवहार के साथ संयुक्त, आप अनाथ हो एक्सेल खिड़कियों का प्रदर्शन किया। एक अच्छा उपयोगकर्ता अनुभव नहीं है।मुझे लगता है कि मैं पृष्ठभूमि में एक छिपी हुई एक्सेल विंडो खोल सकता हूं और फिर जब मैं एम्बेडेड चीजों पर काम कर रहा हूं तो समाप्त हो जाता है ...
मैं संस्करण चला रहा हूं: माइक्रोसॉफ़्ट ऑफिस 365 प्रोप्लस: संस्करण 1705 (बिल्ड 8201.3103 क्लिक-टू -रुन), लेकिन मैंने माइक्रोसॉफ्ट ऑफिस स्टैंडर्ड 2010, संस्करण 14.0.7015.1000 (32-बिट) पर भी समस्या देखी है। तालिका के साथ समस्या कार्यालय के हर दूसरे संस्करण पर समान प्रतीत होती है, हालांकि मुझे आश्चर्य है कि क्या यह कार्यालय के 2010 के पूर्व संस्करणों को प्रभावित करता है?
'Include the "Microsoft Excel 16.0 Object Library" Option Explicit Sub test() Dim sld As slide Dim shp As Shape Dim pptWorkbook As Workbook Set sld = ActivePresentation.Slides.Add(1, ppLayoutBlank) Set shp = sld.Shapes.AddChart Set pptWorkbook = shp.Chart.ChartData.Workbook pptWorkbook.Close SaveChanges:=True Set pptWorkbook = shp.Chart.ChartData.Workbook pptWorkbook.Sheets(1).Cells(1, 2) = "fewewq" Application.ActivePresentation.Save pptWorkbook.Close SaveChanges:=True End Sub
आप शीर्ष लेख पंक्ति मूल्य बदलते हैं तो आपको नहीं रह गया है ("कोशिकाओं (1, 2 एम्बेडेड वस्तु का उपयोग कर सकते हैं:
अद्यतन 1
मैं चार्ट के साथ एक ही बात करने की कोशिश की) "), यदि आप एक और मूल्य बदलते हैं (" सेल (2, 1) ") यह ठीक चलता है। मुझे लगता है कि यह वही समस्या है, इस कोड को चलाने के बाद मैं चार्ट डेटा नहीं खोल सकता। अगर मैं यह तक पहुँचने का प्रयास प्रोग्राम के रूप में मैं निम्नलिखित त्रुटि मिलती है: 2016 पर
Run-time error '-2147467259 (80004005)':
Method 'Workbook' of object 'ChartData' failed
केवल एक मुद्दा है, हालांकि, मैं कुछ 2010 के लिए थोड़ा अलग करने की कोशिश की और किसी भी मुद्दे को नहीं देखा।
अद्यतन 2
मैं अंत में पता लगा कि मैं क्यों एक और सिस्टम पर इस मुद्दे को पुन: पेश नहीं कर सका। यह समस्या केवल तभी दिखाई देती है जब परिवर्तन के बाद एक्सेल के सभी उदाहरण बंद हो जाते हैं। इसका मतलब है कि यदि आप इस कोड को चलाते हैं तो आपके पास एक अलग (असंबंधित) एक्सेल विंडो खुलती है, तो आपको समस्या दिखाई नहीं देगी।
यह समस्या केवल जब PowerPoint अकेले चल रहा है reproduced किया जा सकता है, किसी भी अन्य एक्सेल स्प्रेडशीट खुला बिना।
आशा है कि मैं आप पहले से ही आवेदन उत्कृष्टता प्राप्त करने संदर्भित किया है मान लेते हैं? किसी अन्य चीज़ पर listobject का नाम बदलने का प्रयास करें। 'मंद लो listobject' – Ibo
@Ibo के रूप में, उन उत्कृष्ट सुझाव दिए गए हैं, मैं अपने प्रश्न संपादित किया है स्पष्ट होना करने के लिए और एक टिप्पणी में संदर्भ शामिल है, मैं" listObject "चर सभी को एक साथ हटा दें। –
आपका कोड इस एमएसडीएन आलेख के समान है: [नया चार्ट ऑब्जेक्ट मॉडल के साथ पावरपॉइंट 2010 चार्ट बनाएं] (https://msdn.microsoft.com/en-us/library/office/ff973127 (v = office.14)। एएसपीएक्स) सिवाय इसके कि आप 'शीट्स' का उपयोग कर रहे हैं और 'वर्कशीट्स' नहीं। – PatricK