मैं सफलतापूर्वक निम्न चरणों को यहां पोस्ट Execute .NET 3.0 code from Office 2003VBA
द्वारा अपने ही नेट कोड को चलाने के लिए सक्षम किया गया है वहाँ एक आवरण लिखने के बिना मानक नेट पुस्तकालयों का उपयोग करने के लिए एक रास्ता है ? इस तरह हम ग्राहक की मशीन पर जीएसी में एक कस्टम डीएलएल रजिस्टर और स्थापित करने से बच सकते हैं।
मुझे पहले से ही C: \ Windows \ Microsof.NET \ Framework फ़ोल्डर्स में tlb फ़ाइलें मिली हैं, और mscorlib.dll के संदर्भ को जोड़ने में सक्षम हैं। RijndaelManaged के लिए प्रलेखन को देखते हुए, यह कक्षा COM दिखाई दे रही है।
मैं एक उदाहरण बनाने के लिए कर रहा हूँ, लेकिन जैसे ही मैं कोशिश करते हैं और इसके साथ काम करते हैं, मैं त्रुटियों (जैसे, "प्रकार बेमेल") मिलता है।
Sub Macro1()
Dim aesImplementation As New RijndaelManaged
Set key = aesImplementation.GenerateKey()
Set iv = aesImplementation.GenerateIV()
End Sub
मैं आपके द्वारा ऑफ़र किए जाने वाले किसी भी हैक को स्वीकार करने के लिए तैयार हूं!
मैं एक जवाब फिर से नहीं है:
या बेहतर, कम से कम नहीं जब डिबगिंग आप देख सकते हैं निर्माण के दौरान एक त्रुटि उत्पन्न होती है या जब आप विधि कॉल है कि क्या है। एक रैपर के बिना नेट, लेकिन यदि आप वीबीए के लिए नए हैं, तो आपको यह जानना होगा कि 'जैसा कि नया' घोषित करना वास्तव में उस बिंदु पर कुछ भी तत्काल नहीं करता है जैसे यह .NET में करता है। यह मुझे स्पष्ट नहीं है कि आपकी त्रुटि तत्काल या 'सेट' पर उठाई जा रही है या नहीं। (मैं, यह मानते हुए कर रहा हूँ आप अपने 'कुंजी' सही प्रकार के रूप में चर घोषित किया है आदि) http://stackoverflow.com/questions/2478097/vba-difference-in-two-ways-of-declaring-a देखें -न्यू-ऑब्जेक्ट-कोशिश-समझने-क्यों/2480559 # 2480559 – jtolle
यह पागल है क्यों वैध वाक्यविन्यास के रूप में नया है यदि यह एक नई वस्तु को तुरंत चालू नहीं करता है ?! ऐसा लगता है कि इस मामले में एक उदाहरण बना हुआ प्रतीत होता है, मुझे कम से कम याद होगा कि "जैसा नया" सबसे अच्छा अभ्यास नहीं है। कारण मैंने मुख्य वस्तु को स्पष्ट रूप से घोषित नहीं किया है क्योंकि अगर मैं करता हूं तो मुझे "सरणी को असाइन नहीं किया जा सकता" त्रुटि मिलती है। स्पष्ट रूप से यह त्रुटि तब होती है जब आप किसी भिन्न प्रकार की सरणी को आज़माकर असाइन करते हैं। –
क्या यह कुछ काम बचाने के लिए बहुत काम नहीं है? मेरा मतलब है, यदि आपका उपयोगकर्ता आपको मैक्रो चलाने की अनुमति देगा, तो वास्तविक .NET एप्लिकेशन क्यों न चलाएं? .NET में Office इंटरऑप काफी अच्छा लगता है, इसलिए आप दस्तावेज़ों को समान रूप से या बेहतर तरीके से कुशल बना सकते हैं! –