2012-03-21 8 views
16

मैं एक्सेल वीबीए में dict As New Dictionary (और स्क्रिप्टिंग रनटाइम के संदर्भ को जोड़कर) में शब्दकोश का उपयोग कर रहा हूं। जब मैं डीबगिंग के दौरान उन पर नजर रखने की कोशिश करता हूं, तो मैं केवल कुंजी में जो कुंजी झूठ बोलता हूं, देख सकता हूं, लेकिन प्रत्येक कुंजी का संबंधित मूल्य नहीं।एक्सेल वीबीए घड़ी विंडो में किसी डिक्शनरी में मानों की निगरानी कैसे करें?

क्या मूल्य देखने के लिए कोई तरीका है? यह मेरे लिए डीबगिंग को और अधिक आसान बना देगा।

संपादित करें: आपके उत्तरों के आधार पर, कोई आसान समाधान नहीं है, लेकिन मैं निम्नलिखित कर सकता हूं।

एक वैश्विक चर Dim d_obj As Object का उपयोग करें और इसे लगातार निगरानी रखें और जब भी मुझे एक शब्दकोश का मूल्य देखने की आवश्यकता हो, तो मैं तत्काल विंडो Set d_obj(key) = ... में टाइप करूंगा और मैं मॉनीटर-विंडो में मान देख पाऊंगा।

मैं जो भी कर सकता हूं वह एक ऐसा फ़ंक्शन लिखता है जो एक शब्दकोश में लेता है और मानों को एक सूची के रूप में देता है और इस फ़ंक्शन को प्रत्यक्ष विंडो पर समान रूप से उपयोग करता है। सभी को Thx!

+0

आप मतलब है कि आप 'मान' के साथ-साथ कुंजी को देखने के लिए करना चाहते हैं? – markblandford

+1

>>> "मैं केवल कुंजी में जो कुंजी झूठ बोलता हूं, देख सकता हूं, लेकिन प्रत्येक कुंजी का संबंधित मूल्य नहीं।" <<< मूल्यों को देखने के लिए आप डिबगिंग कैसे कर रहे हैं? यह तत्काल खिड़की में काम करता है। '? dict.Item (1)' –

+0

http://stackoverflow.com/questions/738412/get-the-key-of-an-item-on-a-collection-object – jpinto3912

उत्तर

15

मैं आमतौर पर तत्काल विंडो में dict.items टाइप करता हूं, इसे चुनें और इसे घड़ी विंडो में डालने के लिए Shift + F9 पर जाएं।

वैकल्पिक रूप से, यहाँ सभी वस्तुओं को सूचीबद्ध करने के तत्काल खिड़की के लिए एक एक लाइनर है,:

for each i in dic.Items: debug.Print i: next 
संबंधित मुद्दे