2014-10-14 7 views
15

मैं ऐसे डेटाबेस पर काम कर रहा हूं जो अन्य छात्रों द्वारा काम किया गया है। मैं एमएस एक्सेस और वीबीए 7.0 का उपयोग कर रहा हूं। जिस कोड के साथ मुझे छोड़ा गया था, वह कई नेस्टेड अगर-फिर और बयान तक उपयोग करता है। कोड का अंतर/इंडेंटेशन खराब किया गया था। कई लाइनें इंडेंट नहीं हैं और अन्य लाइनें इंडेंट से अधिक हैं। कोड को पढ़ना/समझना/संपादित करना मुश्किल है।ऑटो इंडेंट या ऑटो प्रारूप गन्दा स्रोत कोड कैसे करें?

क्या वीबीए के अंदर ऑटो इंडेंट या ऑटो प्रारूप का कोई तरीका है? क्या एमएस एक्सेस या वीबीए (गैर तृतीय पक्ष) के अंदर कोई सुविधा है?

यदि नहीं, तो नेस्टेड अगर-फिर कथन के "घोंसले" को देखने का कोई तरीका है? मैं MATLAB का इस्तेमाल किया और क्या आप स्तंभ 1 के बाईं ओर देखने की तरह कुछ देखा है: http://www.mathworks.com/help/matlab/matlab_prog/section_secondlevel_highlight.png

+0

ऑटो इंडेंटिंग के लिए एक्सेस या वीबी में मूल कुछ भी नहीं है। इस कार्यक्षमता के लिए जाने-जाने के लिए इन-इन [यहां पाया जा सकता है।] (Http://www.oaltd.co.uk/Indenter/Default.htm) यह सब क्या उपयोग करता है। कोड के ब्लॉक या घोंसले देखने के लिए, आपको कोड को एड-इन के साथ प्रारूपित करना होगा और इसे [नोटपैड ++] (http://notepad-plus-plus.org/) पर कॉपी करना होगा – tbur

+0

एक समान प्रश्न [यहां ] (http://stackoverflow.com/q/2990221/2144390) ब्याज का हो सकता है। –

+0

@tbur यह संस्करण मेरे संस्करण पर होगा? मेरे पास विंडोज 7 पर एमएस एक्सेस 2010 और वीबीए 7.0 है। आपके लिंक पर संस्करण पुराने होने लगते हैं। मैं इसे डाउनलोड करूँगा और कोशिश करूँगा लेकिन मैं नहीं कर सकता। कार्यक्रम प्राप्त करने के लिए मुझे एक लंबी आईटी अनुरोध प्रक्रिया से गुजरना होगा। – SalmonTeriyaki

उत्तर

5

नि: शुल्क ऐड-इन आप मदद कर सकते हैं:
- VBEditor में ऑटो-मांगपत्र के लिए: Smart Indenter या VBA Code Indenter

नहीं

नि: शुल्क ऐड-इन: -: MZ-tools

7

जब से तुम कोड को समझने की जरूरत है, तो आप भी इसे अपने आप को इंडेंट सकता है मॉड्यूल में समारोह (और एक बहुत अधिक) क्रमबद्ध करने के लिए।

गंभीरता से: कोड के एक समूह की कुशलतापूर्वक समीक्षा करने के लिए, मुझे "हाथ से" इंडेंट को ठीक करने में मदद मिलती है। इसलिए मुझे कोड ब्यूटीफायर में कोई मूल्य नहीं दिख रहा है। यहां दिए गए कदम हैं:

  1. वीबीए मॉड्यूल खोलें जिसे आप ठीक करेंगे।
  2. सभी का चयन करने के लिए Ctrl-a दबाएं।
  3. Shift-Tab बार-बार दबाएं। यह सभी पाठ बाईं ओर स्थानांतरित कर देगा। अब कोई "खराब काम" इंडेंट नहीं हैं!
  4. नीचे से काम करते हुए इंडेंट जोड़ें। "नीचे" से, मेरा मतलब मॉड्यूल में पाठ के अंत में शुरू नहीं होता है। यहां मेरा मतलब है: छोटी संरचनाओं (जैसे, शायद, If() कथन) की पहचान करें और उनसे शुरू करें। उन्हें उचित संकेत दें।
  5. फिर बड़े ढांचे की पहचान करें और उनको इंडेंट करें। चूंकि बड़े आकार में छोटे ढांचे होते हैं, इसलिए आपके पहले के संपादन सही काम पर धकेलते रहेंगे।

मैं इस तरह कोड के बड़े हिस्से को संशोधित करते समय नोटपैड ++ से कोड को कॉपी करता हूं, क्योंकि नोटपैड ++ में समय-बचत कीबोर्ड कमांड और वीबीए संपादक की तुलना में बेहतर सिंटैक्स हाइलाइटिंग है।

सभी मॉड्यूल का दौरा करते समय, Option Explicit प्रत्येक के शीर्ष पर सुनिश्चित करने के लिए एक पल लें। यदि कोड संकलित नहीं होता है, तो ऊपर दिए गए किसी भी चरण से पहले उन समस्याओं को ठीक करना अच्छा होगा (पागल इंडेंट्स को उस काम के लिए बाधा नहीं डालना चाहिए)। फिर इंडेंट्स को संपादित करते समय, कोड को अक्सर संकलित करें ताकि आप जान सकें कि आप गलती से त्रुटियों को पेश नहीं कर रहे हैं। "मैं टैब डालने से त्रुटियों को कैसे पेश कर सकता हूं", आप पूछते हैं? काम के इस चरण में, और अपने कौशल पर स्वाभाविक रूप से निर्भर करते हुए, आप कोड को अन्य तरीकों से जोड़ सकते हैं। इस तरह से बहुत कुछ करना मूर्ख नहीं है; लेकिन शायद थोड़ा, और आप चाहते हैं कि संकलक आपके लिए काम कर रहा हो।

+5

स्वयं को ध्यान दें: सुझाए गए चरणों का पालन न करें। –

+0

@mehfoos yacoob - यह सलाह की तरह लगता है कि कहीं कहीं आपको जाने का मतलब नहीं था! अगर मेरा जवाब सुधार किया जा सकता है, तो सुझाव देने के लिए स्वतंत्र महसूस करें। उस ने कहा, मैं स्वयं को आपके नोट से सहमत हूं। – Smandoli

+0

धन्यवाद! नेस्टेड स्टेटमेंट को हटाते समय इससे बहुत मदद मिली। मैंने 'साथ 'कथन हटा दिया और आंतरिक कथन को एक टैब वापस स्थानांतरित करने के लिए जो कहा वह किया। –

8

स्मार्ट Indenter महान है, व्यक्तिगत रूप से एक बड़ी कंपनी में काम करते हैं और हम व्यवस्थापक विशेषाधिकार नहीं है, इसलिए मैं अपने VBA कोड ऑनलाइन इंडेंट:

http://www.vbindent.com/?indent

मुझे आशा है कि यह जो लोग कर रहे हैं मदद करता है वही स्थिति।

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