शीट के लिए "मैक्रो को सक्षम करने" से पहले एक्सेल मैक्रो का निरीक्षण / अवलोकन कैसे करें?


13

मुझे कभी-कभार एक xls फ़ाइल मिल रही है जिसमें एक मैक्रो है जिसका मुझे उपयोग करना चाहिए। अगर मुझे प्रेषक पर पूरा भरोसा नहीं है, तो मैं यह सत्यापित करने के लिए मैक्रो के स्रोत को देखना चाहता हूं कि यह वास्तव में केवल वही करता है जो इसे माना जाता है।

हालाँकि, Excel 2010 में "व्यू मैक्रोज़" के तहत "एडिट" बटन तब तक अक्षम होता है जब तक कि मैं पहली बार मैक्रोज़ को शीट के लिए सक्षम नहीं करता - लेकिन अगर मैं पहली बार मैक्रोज़ को सक्षम करता हूं, तो मैं अधिकतम उस कोड के समाप्त होने के बाद ही दुर्भावनापूर्ण कोड के बारे में पता लगा सकता हूं। चल रहा है ...

दस्तावेज़ के लिए मैक्रो को सक्षम करने से पहले मैक्रो का स्रोत कैसे देख सकता हूं?

जवाबों:


13

आप दस्तावेज़ में एम्बेड किए गए Visual Basic रूटीन के लिए आसान पहुँच प्रदान करने के लिए Word में डेवलपर टैब का उपयोग करके किसी दस्तावेज़ में सभी मैक्रोज़ पर नज़र डाल सकते हैं।

सबसे पहले आपको यह सुनिश्चित करने की आवश्यकता है कि डेवलपर टैब सक्षम है। फ़ाइल पर जाएँ -> विकल्प तब:

डेवलपर टैब

डेवलपर टैब पर जो अब दिखाई देना चाहिए, उसमें अब "विज़ुअल बेसिक" बटन होना चाहिए जिसे आप विज़ुअल बेसिक संपादक को प्राप्त करने के लिए क्लिक कर सकते हैं।

संपादक के बाईं ओर दस्तावेज़ के पेड़ के माध्यम से ब्राउज़ करना आपको मैक्रोज़ को सक्षम करने के लिए पहले कोड की आवश्यकता के बिना सभी कोड और मॉड्यूल देखने में सक्षम होना चाहिए।

मैं ऐसा उन दस्तावेजों के साथ करता हूं जिन पर मुझे भरोसा नहीं है।

नोट: मैंने यह वर्ड में किया है, एक्सेल में एक ही फीचर उपलब्ध है और इसे इनेबल करने का विकल्प उसी जगह पर है।


9

2003 से सभी कार्यालय अनुप्रयोगों के सभी संस्करणों में, और संभवतः पहले, Alt+ F11VBA संपादक खोलेंगे। Office 2007 के लिए रिबन में 'डेवलपर' टैब को सक्षम करने की आवश्यकता नहीं है और इसके लिए नया काम करना होगा।


2
यह ध्यान देने योग्य है कि कई संस्करणों (एक्सेल कम से कम) में, Alt+ F11" ! SECURITY WARNING ... Enable Content" बैनर गायब होने का कारण बन सकता है , जिसका अर्थ है कि कोड निष्पादन अब सक्षम है। यह भ्रामक है। आप on_open()मॉड्यूल के साथ एक दस्तावेज़ बनाकर इसे प्रदर्शित कर सकते हैं । आप ईवेंट को फायर किए बिना कोड का Alt+ F11निरीक्षण कर सकेंगे ।
पीटर वांडिवियर

0

जबकि मोकूबाई और hBy2Py के उत्तर बहुत अच्छे लगते हैं और वास्तव में आप VBA संपादक को दिखाने की अनुमति देते हैं, ऐसा लगता है कि कम से कम Microsoft Office Professional Plus 2016 से Excel में अभी भी आपको कोड देखने की अनुमति नहीं है।

मैं उस संस्करण का मालिक हूं, और मुझे यकीन है कि मुझे एक दुर्भावनापूर्ण XLS प्राप्त हुआ था और इसका निरीक्षण करना चाहता था। एक्सेल में खोलने के बाद, यह हमेशा की तरह सुरक्षित मोड में खुल गया और निश्चित रूप से मेरा उस मोड को खारिज करने का कोई इरादा नहीं था। जब मैंने अन्य उत्तरदाताओं के संकेत के रूप में VBA संपादक को खोला, तो मुझे ... खाली VBA संपादक के साथ प्रस्तुत किया गया था । "प्रोजेक्ट एक्स्प्लोरर" पैनल ने मदद की "नो ओपन प्रोजेक्ट्स" प्रदर्शित होने के बावजूद मैंने अभी तक XLS फाइल को बंद नहीं किया है। बस परीक्षण के लिए, मैंने दूसरा दस्तावेज़ (मेरे काम में से एक) खोला और यह वीटेटली वीबीए संपादक में दिखाई दिया और किसी भी वीबीए से पूरी तरह से रहित था। हालाँकि, इंटरनेट से दस्तावेज़ VBA संपादक में सूचीबद्ध नहीं था

मैंने कुछ समय बर्बाद करके यह जानने की कोशिश की कि ऐसा क्यों है, और कोई कारण नहीं मिला। ऐसा लगता है कि मेरा एक्सेल संस्करण बस VBA मॉड्यूल को VBA संपादक में नहीं भेजता है जब दस्तावेज़ को सुरक्षित मोड में लोड किया जाता है। अफसोस की बात है, VBA संपादक में कुछ "कार्यालय दस्तावेज़ से खुले VBA" का अभाव है, इसलिए यह स्पष्ट है कि एक्सेल यहाँ दिमाग है और इसे पहले XLS को जो भी करना / हटाना / रद्द करना है।

समाधान काफी सरल निकला।

  1. क्लिक करें Ribbon-> Developer->MacroSecurity
  2. वैकल्पिक रूप से, File-> Options-> SecurityCenter(अंतिम विकल्प समूह) -> Settings-> Macros)
  3. याद रखें (या लिखकर) वर्तमान सेटिंग्स क्या हैं
  4. उन्हें "अधिसूचना के बिना सभी मैक्रोज़ ब्लॉक करें" में बदलें
  5. पुष्टि करें, बंद करें, दस्तावेज़ को फिर से खोलें, वीबीए संपादक को फिर से खोलें
  6. जब आप आग से खेल खत्म कर लें तो मूल सेटिंग्स को पुनर्स्थापित करें

प्रभाव:

  • अधिसूचना नहीं दिखाई गई
  • दस्तावेज़ पूरी तरह से लोड किया गया है
  • कोई मैक्रोज़ निष्पादित नहीं किया गया
  • VBA संपादक को मॉड्यूल मिला और सभी कोड प्रस्तुत किए

मामले में आप उत्सुक हैं: हाँ, यह वास्तव में दुर्भावनापूर्ण था, छोटा उदाहरण:

Function marcopoloko()
marcopoloko = Left("CM to inches converter", 2) + Right("fed.ex", 4) + "e  " + "/c" + numneroop + amagilocard
End Function

'Sub Workbook_Open()
'If xlTickMarkOutside > 0 Then
'Shell marcopoloko + """", xlXmlExportSuccess
'End If
'End Sub

Btw। जैसा कि आप देख सकते हैं कि मैंने तुरंत एंट्री पॉइंट पर टिप्पणी की थी और दस्तावेज़ को फिर से सहेजा था, अगर मैं मैक्रोज़ को किसी समय पर चलाने की अनुमति देता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.