2008-09-02 11 views
17

मैं एक्सेल 2003 और प्रोग्रामिंग वीबीए के लिए अंतर्निहित आईडीई का उपयोग कर रहा हूं, लेकिन बहुत सी चीजें मुझे बग करती हैं। जाहिर है, वीबीए आईडीई की अंतर्निहित प्रकृति एक बड़ा प्लस है। क्या वहां कोई (मुफ्त?) विकल्प है?क्या वीबीए विकास के लिए कोई वैकल्पिक आईडीई है?

उत्तर

7

क्या आपको वीबीए में कोड करने की आवश्यकता है? आप सी # में कोड कर सकते हैं। जोएल के Software Discuss board से एक पोस्ट यहां दी गई है।

हालांकि सी # मैं लिखता हूं एक्सेल में एम्बेडेड नहीं है। यह इसे विजुअल स्टूडियो .NET में कक्षा लाइब्रेरी के रूप में लिखता है।

यदि आप एम्बेडेड सी # चाहते हैं तो मैंने का सुझाव दिया है कि आप कार्यालय के लिए विजुअल स्टूडियो टूल्स खरीदते हैं। यह आपके लिए जीवन को थोड़ा आसान बनाता है क्योंकि आपको सीओ इंटरप घटक के रूप में सी # लिखने के लिए सीखना नहीं है।

शायद आपको Office Development with Visual Studio देखें।

6

+1 .NET + VSTO के लिए बर्नी।

हालांकि सी # में एक्सेल ऑब्जेक्ट मॉडल के खिलाफ कोड लिखना सचमुच पुराना हो जाता है, क्योंकि सी # नामों में तर्क समर्थित नहीं हैं, और कुछ एक्सेल विधियां 20-30 पैरामीटर की पागल तर्क सूची लेती हैं, इसलिए कोड

जैसा दिखता है
object.method(, , , , , , , , something, , , , , , , , somethingElse, , , ,) 

मुझे लगता है कि जब यह एक्सेल नेट विकास की बात आती है VB.NET जाने का रास्ता है, खासकर यदि आपको लगता है कि ऑब्जेक्ट मॉडल से परिचित नहीं हैं, आप Excel में VBA रिकॉर्ड और आसानी से इसे वीबी में बदल सकते हैं कम से कम दस्तावेज के माध्यम से पोरिंग के बजाय .NET।

@OP, वीबीई प्रतिस्थापन के रास्ते में बहुत कुछ नहीं है। अधिक शक्तिशाली टेक्स्ट संपादन के लिए आप निश्चित रूप से अपने पसंदीदा टेक्स्ट एडिटर का उपयोग कर सकते हैं, लेकिन फिर आप इंटेलिसेंस और लाइव सिंटैक्स चेकिंग खो देते हैं, इसलिए यह एक बड़ा व्यापार-बंद है।

+8

इस जवाब अप्रचलित है, Vs.Net समुदाय 2015, इस नि: शुल्क है और तेजी से है। [सी # नामित और वैकल्पिक पैरामीटर का समर्थन करता है] (http://msdn.microsoft.com/en-us/library/dd264739.aspx) –

10

एक्सेल के वीबीए आईडीई निश्चित रूप से वांछित होने के लिए बहुत कुछ छोड़ देता है, लेकिन आपको यह कहना चाहिए कि आप कौन सी चीजें हैं। वहां मदद करने वाली कुछ सुविधाएं हैं। Google स्मार्ट इंडेंटर और एमजेड-टूल्स दो नाम देने के लिए।

+0

टिप के लिए धन्यवाद, मैं इन उपकरणों को देखूंगा। – sdfx

+0

मुझे पता है कि यह * पुराना * है, लेकिन ध्यान दें कि * स्मार्ट इंडेंटर * वीबी 6 में लिखा जा रहा है, 64-बिट होस्ट में काम नहीं करेगा। सौभाग्य से इसके लेखकों ने कृपापूर्वक अपने मूल स्रोत कोड को [रबरडक] (http://rubberduckvba.com/indentation) प्रोजेक्ट में पेश किया, और स्मार्ट इंडेंटर अब रबरडक के हिस्से के रूप में रहता है, पूरी तरह से सी # में पुनः कार्यान्वित किया गया है और अब इसे एक हिस्से के रूप में बनाए रखा गया है ओपन-सोर्स प्रोजेक्ट। –

9

जहां मैं काम करता हूं हमने वीएसटीओ की कोशिश की लेकिन यह आपको असेंबली वितरित करने के लिए मजबूर करता है, और आपके उपयोगकर्ता अब आपके मैक्रो को संपादित करने में सक्षम नहीं होंगे। फिर सुरक्षा पर यह गुमराह फोकस सब कुछ कठिन बना रहा है। इसे सब से ऊपर करने के लिए, हम कई कार्यालय संस्करणों को लक्षित करने में सक्षम नहीं थे।

मैं कम से कम वीबीए के साथ रहूंगा, कम से कम अगर आप इस साल काम करना चाहते हैं। हाँ, मुझे पता है कि यह जनवरी है :)

+1

मैं पूरी तरह से सहमत हूं। VSTO विकसित एड इन्स से भी VBA कोड चलाने के लिए तेज़ है। बेशक आप सी और .XLLs के साथ बेहतर गति प्राप्त कर सकते हैं। –

+2

एक्सेल-डीएनए (http://exceldna.codeplex.com) (जो मैं विकसित करता हूं) इन मुद्दों पर विजय प्राप्त करता है और एक्सेल में .NET का बेहतर एकीकरण प्रदान करता है। उच्च प्रदर्शन क्योंकि यह आपके .NET एड-इन (निर्भरताओं समेत) के लिए सी/एक्सएलएल इंटरफ़ेस, एकल-फ़ाइल .xll परिनियोजन के साथ एकीकृत है और Excel '97 के बाद से Excel के सभी संस्करणों पर समर्थित है। – Govert

2

DataNitro एक्सेल स्क्रिप्टिंग के लिए पाइथन का उपयोग वीबीए आईडीई (एक एड-ऑन के लिए धन्यवाद) के समान ही करता है।

यह मुफ़्त नहीं है और मैंने अभी तक इसे आजमाया नहीं है (मुझे एक्सेल के लिए सी # आईडीई की तलाश करते समय यह मिला), लेकिन यह बहुत ही आशाजनक दिखता है।

5

- आप Rubberduck open-source COM addin के साथ वीबीए बढ़ा सकते हैं।

अपनी साइट से: रबरडक सक्रिय विकास के तहत एक मुक्त, मुक्त स्रोत COM एड-इन है जो वीबीई के साथ एकीकृत करता है ताकि प्रत्येक प्रोग्रामर अपने आईडीई में सुविधाओं को सक्षम कर सके। इकाई परीक्षण से स्रोत नियंत्रण तक, कोड निरीक्षण से रिफैक्टरिंग तक, वीबीए में प्रोग्रामिंग कभी भी समान नहीं होगी।

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