में एम्बेडेड होने पर एक्सेल get_Range अनुपलब्ध है I COM COMOP DLL का संदर्भ देने वाली असेंबली का निर्माण करता हूं। यदि मैं संदर्भ इंटरफ़ेस प्रकार (VS2010) में सही इंटरफ़ेस प्रकार सेट करके COM इंटरऑप प्रकारों को एम्बेड करता हूं, तो रन-टाइम पर एक त्रुटि होती है "ऑब्जेक्ट में get_Range के लिए परिभाषा नहीं होती है"। यदि COM इंटरऑप प्रकार एम्बेडेड नहीं हैं तो कोई त्रुटि नहीं होती है।इंटरफ़ेस असेंबली .NET 4.0
किसी को भी पता है क्यों एक विशेष विधि, Worksheet.get_Range लोप किया जाना चाहिए या कि यह कैसे हल करने के लिए या किसी अन्य प्रासंगिक अंतर्दृष्टि है? मुझे किसी भी मदद के लिए आभारी होना चाहिए।
इंटरॉप dll (वस्तु, [वस्तु]) Worksheet.get_Range करने के लिए एक संदर्भ है। मेरी कॉलिंग असेंबली पर परावर्तक का उपयोग करके वर्कशीट के तहत get_Range का कोई उल्लेख नहीं है।
इंटरॉप विधानसभा मैं embedding हूँ Excel9.olb से उत्पन्न होता है। मैं पीआईए का उपयोग नहीं कर रहा हूं क्योंकि एप्लिकेशन एकाधिक एक्सेल संस्करणों को लक्षित करता है।
MIke, आपकी मदद के लिए धन्यवाद। एकल पैरामीटर दृष्टिकोण को रन-टाइम त्रुटि नहीं मिलती है और जाहिर है कि यह एक अच्छा कामकाज है। मैंने माइक्रोसॉफ्ट 53076 9 पर एक बग रिपोर्ट सबमिट की है। – mikemay
https://connect.microsoft.com/VisualStudio/feedback/details/530769/get-range-method-missing-with-embedded-interop-assembly?wa=wsignin1.0 – mikemay
आह, ठीक है, मैंने अपनी पिछली टिप्पणी में एक बुरा लिंक पोस्ट किया है, इसे ठीक करने के लिए धन्यवाद। चर्चा बहुत दिलचस्प है, और समझ में आता है। लेकिन, मैं पूछ सकता, नहीं सबसे आसान समाधान अब बस 'worksheet.Range [" A1 "]' बड़े 'worksheet.get_Range के बजाय वाक्य रचना (" A1 ", Type.Missing) का उपयोग करने के' अब है कि आप कर रहे हैं सी # 4.0 का उपयोग कर? आपको एक बहुत ही रोचक जिज्ञासा मिली है, लेकिन इसे अपने कोड के लिए ठीक करने के लिए, यह केवल नए सिंटैक्स का उपयोग करने के लिए सबसे आसान और सबसे अच्छा प्रतीत होता है - जो कि किसी भी मामले में (डिजाइन द्वारा!) पढ़ने में आसान है। –