मैंने एक प्रोग्राम लिखा है जो समाप्त होने पर जानकारी के साथ स्काइप चलाता है और संदेश देता है। स्काइप के माध्यम से एक संदेश भेजने के लिए मुझे Skype4COM.dll
के लिए संदर्भ जोड़ने की आवश्यकता है। हमारे पास नेटवर्क पर एक दर्जन या उससे अधिक कंप्यूटर हैं और एक साझा फ़ाइल सर्वर (अन्य चीजों के साथ)। अन्य सभी कंप्यूटरों को इस कार्यक्रम को चलाने में सक्षम होना चाहिए। मैं हाथ से संदर्भ स्थापित करने से बचने की उम्मीद कर रहा था। मैंने एक साझा स्थान में संदर्भ डालने की योजना बनाई थी, और कार्यक्रम चलाते समय इसे प्रोग्रामेटिक रूप से जोड़ना था।प्रोग्रामेटिक रूप से संदर्भ जोड़ने के लिए
मुझे लगता है कि वीबीए का उपयोग कर Excel 2007 में प्रोग्रामेटिक रूप से संदर्भ जोड़ने का तरीका नहीं लग रहा है। मुझे पता है कि इसे मैन्युअल रूप से कैसे करें: VBE --> Tools --> References --> browse --_> File Location and Name
खोलें। लेकिन यह मेरे उद्देश्यों के लिए बहुत उपयोगी नहीं है। मुझे पता है कि Access Vb.net में यह करने के लिए तरीके और कोड इस के समान ऊपर पॉपिंग रखा है, लेकिन मुझे यकीन है कि मैं इसे समझते हैं, या अगर यह प्रासंगिक है नहीं कर रहा हूँ:
ThisWorkbook.VBProject.References.AddFromGuid _
GUID:="{0002E157-0000-0000-C000-000000000046}", _
Major:=5, Minor:=3
अब तक समाधान में प्रस्तुत किया, में प्रोग्राम प्रोग्रामिक रूप से संदर्भ जोड़ने के लिए मुझे हाथ से एक संदर्भ जोड़ने और ट्रस्ट सेंटर बदलने की आवश्यकता होगी - जो संदर्भ को जोड़ने से कहीं अधिक है। हालांकि मुझे लगता है कि अगर मैं प्रस्तावित समाधानों का पालन करता हूं तो मैं भविष्य में संदर्भों को प्रोग्रामेटिक रूप से जोड़ सकता हूं। जो शायद इसे प्रयास के लायक बनाता है।
कोई और विचार बहुत अच्छा होगा।
आप Excel 2010 – Qbik
कोई विचार क्यों यह फिर से जिंदा आ गया है के तहत संदर्भ जोड़े बिना CreateObject() का उपयोग कर सकते हैं - लेकिन कम से जल्दी/लेट बाइंडिंग एक नजर है। यदि आप कोई संदर्भ जोड़ते हैं (या तो हाथ या प्रोग्रामेटिक रूप से) यह आपके कोड को एक विशिष्ट संस्करण से जोड़ता है। जैसे एक्सेल 11 लाइब्रेरी एक्सेल 2003 से जुड़ा हुआ है। अगर आप यही चाहते हैं तो बहुत अच्छा है, लेकिन अक्सर (विशेष रूप से जहां मैं काम करता हूं) मुझे 2003, 2007 और 2010 को काम करने की ज़रूरत है। –