2011-04-19 12 views
6

यह पोस्ट लिंक बनाने के बिना एक्सएलएएम इंस्टॉल करने के बारे में है। (हर कोई लिंक से नफरत करता है)। तुच्छ ऐड पर विचार करें: एक मॉड्यूल मेंएक्सएलएएम/एक्सएलए एडिन्स: क्या कोई बेहतर तरीका है?

Public Function UDF_HELLO(x) 
     UDF_HELLO = "Hello " & x 
    End Function 

रखें इस कोड को और कुछ नहीं और के रूप में डेस्कटॉप पर "Hello.xlam" बचाने (और नहीं डिफ़ॉल्ट में addins फ़ोल्डर उत्कृष्टता)। इसके बाद, HELLO.XLAM अभी भी खुला है, जबकि, सूत्र

 =UDF_Hello("world") 

सेल A1 में, जो केवल "हैलो दुनिया" को प्रदर्शित करता है कि सेल में के साथ एक नया XLSX कार्यपुस्तिका बनाएँ। कार्यपुस्तिका को सहेजें और एक्सेल से बाहर निकलें। अब, यदि आप XLAM के बिना कार्यपुस्तिका को फिर से खोलते हैं, तो Excel "अन्य स्रोतों के लिंक ..." के बारे में शिकायत करेगा। आप क्लिक करें या नहीं "अपडेट" या "अपडेट न करें", एक्सेल इस तरह सेल A1 में सूत्र वध करना होगा:

='C:\Documents and Settings\tpascale\Desktop\Hello.xlam'!UDF_Hello("world") 

अक्सर इस "मजबूर-लिंकेज" वांछनीय नहीं है। मेरे कंप्यूटिंग पर्यावरण में बहुत सारे विज्ञापन-विश्लेषण हैं और दिन की समस्या को हल करने के लिए हम प्रत्येक एक्सएलएएम पर एक स्थापित नियम लागू करने का कोई मतलब नहीं है। मैं सिर्फ उपयोगकर्ताओं को एक्सएलएएम फाइलों को सौंपना चाहता हूं और उन उपयोगकर्ताओं को उन्हें खोलने के लिए उन्हें खोलने देना चाहता हूं, बिना किसी गलत गलत कदम के बारे में चिंता करने के लिए उनके सूत्रों को उलझन में डाल देना।

प्रश्न:

वहाँ निर्देश देने के लिए एक्सेल कभी UDFs के लिए बाहरी लिंक के निर्माण के लिए, और बस अन्यथा अगर वे लोड कर रहे हैं UDFs का उपयोग करें और #VALUEs वापस जाने के लिए कोई तरीका है?

उत्तर

3

मुझे .xla/.xlam ऐड-इन्स के साथ इस तरह के रास्ते के बारे में पता नहीं है।

लेकिन यह समस्या .xll एड-इन्स के साथ नहीं होती है। इन्हें Excel 2010 SDK का उपयोग करके सी में बनाया जा सकता है, या Excel-DNA लाइब्रेरी का उपयोग करके VB.NET या C# जैसी प्रबंधित भाषाओं में बनाया जा सकता है।

(अस्वीकरण:।। मैं Excel-डीएनए के डेवलपर हूं यह समस्या कारणों मैं कामयाब यूडीएफ ऐड-इन्स बनाने के लिए .xll इंटरफेस के साथ चला गया में से एक है)

+0

मुझे पता है कि में VB.Net या सी # COM दिखाई कार्यों बनाने के लिए। इन्हें वीबीए से बुलाया जा सकता है लेकिन फॉर्मूला बार से नहीं। फ़ॉर्मूला बार से कॉल करने योग्य उन्हें पाने का सबसे आसान तरीका क्या है? क्या यह आपका एक्सेल-डीएनए है या कुछ और? विजुअल स्टूडियो सभी COM-interop सामान उत्पन्न करने का अच्छा काम करता है - लेकिन जहां तक ​​मुझे पता है कि आपके लिए कुछ भी उत्पन्न नहीं करता है w.r.t. एक्सेल एडिनस। – tpascale

+0

माना जाता है कि एक्सेल में यूडीएफ के रूप में उपलब्ध .NET कार्यों को बनाने का सबसे सरल (और केवल एमएस-समर्थित) तरीका ऑटोमेशन ऐड-इन बनाना है: http://www.codeproject.com/KB/COM/excelnetauto.aspx। लेकिन ऑटोमेशन ऐड-इन्स धीमे हैं, मशीन पर पंजीकृत होने की आवश्यकता है, और फ़ंक्शन विवरण, श्रेणियां इत्यादि जोड़ने के लिए सीमित समर्थन है। एक्सेल-डीएनए उन सभी समस्याओं को हल करता है, जो आपको एक एकल .xll के साथ छोड़ देता है जिसके लिए उपयोगकर्ता कोई इंस्टॉलेशन नहीं कर सकते हैं बस खोलने के लिए क्लिक करें। यदि आपके पास पहले से ही विजुअल स्टूडियो स्थापित है और पता है कि कोई विशेषता क्या है, तो आपको एक्सेल-डीएनए का उपयोग करना आसान लगेगा और बस काम करता है। – Govert

+0

ठीक है बहुत धन्यवाद - मैं एक्सेल डीएनए की कोशिश करूँगा। मैंने आपके "एक्सेल डीएनए हैलो वर्ल्ड फंक्शन" पर एक त्वरित नज़र डाली - बहुत अच्छा। आदर्श रूप से मैं सिर्फ आपके डीएनए एक्सएमएल में वीबीए कोड लपेटूंगा, कोई आईडीई नहीं - बहुत सरल - सिवाय इसके कि मेरे यूडीएफ वीबीए कक्षाओं पर भरोसा करते हैं। क्या वे भी इस हल्के तरीके से लपेट सकते हैं? यदि हां, बढ़िया, यदि नहीं, तो मैं शायद बुलेट काट दूंगा और डीएनए के साथ .NET में परिवर्तित कर दूंगा। – tpascale

1

आप उन्हें खोलने हो सकता है .xla फ़ाइल और एक auto_Open प्रक्रिया एड-इन स्थापित करें।

http://www.vbaexpress.com/kb/getarticle.php?kb_id=693

एक्सेल बंद कर देता है आप ऐड-इन की स्थापना रद्द करें खुद हो सकता है के बाद।

oAddIn.Installed = False 

आप के लिए उपयोगकर्ता नामित कुछ तो सेल A1 सही या गलत के बराबर है एक वर्कशीट का उपयोग करके हर बार इस्तेमाल करने के बाद स्थापना रद्द नहीं करने के लिए अपने ऐड-इन एक सेटिंग दे सकते हैं।

मैंने इसका परीक्षण नहीं किया है लेकिन उम्मीद है कि यह आपके लिए काम करता है।

1

यह आपकी समस्या को हल करने के लिए काम करना चाहिए हालांकि यह एक्सेल को बाहरी लिंक के बारे में निर्देश नहीं देता है। मैंने XLAM बनाकर इसे अपने डेस्कटॉप पर सहेज कर, इसे एक्सेल ऐड-इन्स में इंस्टॉल करके और फिर इसे एक नई कार्यपुस्तिका पर उपयोग करके परीक्षण किया है।

कदम:

  1. एक बार जब आप ऐड-इन बचाया है, उसे बंद करें।
  2. एक्सेल विकल्प पर जाएँ -> ऐड-इन्स
  3. में प्रबंधित ड्रॉप-डाउन का चयन करें Excel ऐड-इन्स और प्रेस 'गो'
  4. 'ऐड-Ins'dialogue कि क्लिक करने पर प्रकट' ब्राउज़ 'में और आपके द्वारा अभी बनाए गए ऐड-इन पर नेविगेट करें। इसे चुनें और 'ओके'
  5. दबाएं यदि ऐड-इन फ़ोल्डर में एड-इन को सहेजने के लिए कहा जाता है, तो 'नहीं' चुनें। 'हां' का चयन करने से त्रुटि हो सकती है यदि ऐड-इन फ़ाइल प्रत्यय एक्सेल के संस्करण से मेल नहीं खाता है।
  6. आपका ऐड-इन 'ऐड-इन्स उपलब्ध' scrollbox में दिखाई देनी चाहिए, अपने बॉक्स को चेक करें और हिट 'ठीक'
  7. आपका ऐड-इन अब सक्रिय जब भी आप एक्सेल खोलने होना चाहिए।
  8. एक नई कार्यपुस्तिका खोलकर इसका परीक्षण करें और अपने यूडीएफ का उपयोग करने का प्रयास करें।

बेस्ट,

संबंधित मुद्दे