से Excel 2007 में सी # में लिखित कॉल विधियां मैं Excel 2007 का उपयोग कर रहा हूं। मेरे पास सी # कोड एक अलग बाइनरी में लिखा गया है। कोड कक्षाओं पर स्थिर वर्गों और स्थिर तरीकों का उपयोग करता है। मेरे पास मेरे वीएसटीओ एक्सेल वर्कशीट प्रोजेक्ट में डीएलएल का संदर्भ है। इसे काम करने के लिए मुझे जोड़ने या संशोधित करने के लिए क्या करना है?सेल फॉर्मूला
मेरे सी # कोड इस तरह दिखता है:
using System;
using System.Collections.Generic;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
namespace FooStatistics
{
[ComVisible(true)]
public static class Statistics
{
public static int Count(Range range)
{
return range.Count;
}
मैं एक एक्सेल सेल कि इस तरह दिखता है में एक सूत्र डाल करने के लिए सक्षम होना चाहते हैं:
=FooStatistic.Statistic.Count(A1:A10)
या जो कुछ भी।
मैंने this देखा है लेकिन यह Excel 2003 में गैर स्थैतिक वर्गों के लिए प्रतीत होता है। मुझे विश्वास नहीं है कि एकीकरण अब तक बेहतर नहीं है।
मैंने इस पर बहुत सारे स्टैक ओवरफ्लो प्रश्नों को देखा है। वे देशी एकीकरण प्रदान नहीं करते हैं (कई कहते हैं, "एक्स ओपन सोर्स लाइब्रेरी का उपयोग करें") और, अशुभ रूप से, ओपी द्वारा कई स्वीकार नहीं किए जाते हैं। मैं नहीं ढूंढ रहा हूं, "इसे एक COM ऑब्जेक्ट में बनाएं और उसे वीबीए से कॉल करें।"
तो मैं तलाश कर रहा हूँ:
- Excel 2007
- कोड सी # DLL में यूडीएफ
- देशी एकीकरण के रूप में एक्सेल सेल
तो यहाँ another StackOverflow link है से
- जहां तक मुझे पता है, आप सीधे VSTO में यूडीएफ नहीं बना सकते हैं।
- वीएसटीओ का एक्सेल यूडीएफ बनाने के लिए कोई समर्थन नहीं है। ऑटोमेशन एड-इन्स .Net में बनाया जा सकता है, और ऐसा करने का माइक्रोसॉफ्ट अनुमोदित तरीका प्रतीत होता है।
यह जून 200 9 से एक प्रश्न है। क्या यह सच है - 200 9 में आपको एक्सेल के लिए कॉल करने योग्य यूडीएफ प्राप्त करने के लिए अपने .NET घटकों को COM सर्वर के रूप में बेनकाब करना होगा?
हू। मैं सॉफ्टवेयर विकास के सभी चरणों में जा रहा हूं: क्रोध, इनकार, सौदा, अवसाद और स्वीकृति। – hughdbrown
तो जब मैं यह सब करता हूं, तो मुझे संकलन-समय चेतावनी मिलती है "... इसमें कोई भी प्रकार नहीं है जिसे COM इंटरऑप के लिए पंजीकृत किया जा सके।" मुझे संदेह है क्योंकि ऐसा इसलिए है क्योंकि मैंने स्थिर विधियों के साथ एक स्थिर वर्ग का उपयोग किया है। क्या मुझे सार्वजनिक गैर-स्थैतिक कक्षा रखने की आवश्यकता है? या यह कुछ और है? – hughdbrown
तो मैं इसे तब तक काम करने के लिए प्राप्त कर सकता हूं जब तक कि मैं स्थिर वर्गों और स्थिर तरीकों का उपयोग नहीं करता। मैं एक फर्जी ऑब्जेक्ट के साथ समाप्त होता हूं जिसमें वास्तविक गुण या विधियां नहीं हैं लेकिन जिन्हें मैं कॉल कर सकता हूं। आह। – hughdbrown