2012-11-26 21 views
6

अक्षम करें मैं Excel शीट में "बोल्ड" टॉगल बटन अक्षम करना चाहता हूं।बोल्ड बटन

मैं यह कैसे कर सकता हूं?

मैं निम्नलिखित कोड है, लेकिन यह काम नहीं कर रहा:

CommandBarControl test = excel1.Application.CommandBars["Formatting"].FindControl(Id:113,Recursive:true); 
if (test.Enabled) 
{ 
MessageBox.Show(test.Caption + " enabled"); 
test.Visible = false; 
test.Enabled = false; 
} 

मैं इसे क्योंकि Office 2007 से काम नहीं कर रहा है कि वे रिबन नियंत्रण का उपयोग कर रहे है।

कोई भी किसी विशिष्ट बटन के नियंत्रण को प्राप्त करने में सहायता कर सकता है? ताकि मैं इसके गुणों को बदल सकूं, इसे डिफ़ॉल्ट रूप से सक्षम/अक्षम कर सकूं, आदि

+1

जबकि मेरे पास आपके प्रश्न का उत्तर नहीं है, मैं सोच रहा हूं कि जब आप बटन को अक्षम करते हैं, तो उपयोगकर्ता अभी भी CTRL + B को बोल्ड टेक्स्ट में रख सकता है। वीबीए लाइब्रेरी में कोई इवेंट नहीं है लेकिन वीएसटीओ (मैंने कभी इसका इस्तेमाल नहीं किया है) प्रारूप की तरह कुछ या सेलफॉर्मैट, यहां तक ​​कि सेललेव स्वरूपण को जांचने के लिए और फिर इसे बोल्ड से बदल दें। बोल्डिंग घटना को अलग करने के लिए कुछ भी। शायद आपके लिए उपयोग करने के लिए एक बोल्डिंग ईवेंट बढ़ाने के लिए सेल क्लास 'टेक्स्ट प्रारूप एक्सेसर को विस्तारित करके एक कस्टम ईवेंट भी बनाएं। (यदि यह संभव है) सी # में – Bmo

उत्तर

0

जो जवाब आप चाहते हैं, मुझे यकीन नहीं है, लेकिन मुझे डर है कि यह नहीं किया जा सकता है।

1

मुझे डर है कि जवाब वास्तव में यह संभव नहीं है।

मैं क्लास मॉड्यूल के साथ संभावनाओं को देख रहा हूं, क्योंकि मैंने सोचा था कि कक्षा का उपयोग करके, आप उस घटना को रोक सकते हैं जो टेक्स्ट को बोल्ड में बदलता है और फिर उस ईवेंट को रद्द करता है। हालांकि, मुझे जो कुछ भी मिल सकता था वह अन्य घटनाओं से संबंधित था (मूल्य परिवर्तन, गणना, कार्यपुस्तिका संरचना परिवर्तन आदि)।

भले ही यह काम करेगा, फिर भी इसमें कुछ गंभीर कोडिंग शामिल होगी और त्रुटि प्रवण होगी।

शायद आप इसे गलत तरीके से जा रहे हैं - इस बटन को हटाने का कारण क्या है? शायद आपकी समस्या का एक और समाधान है। और जैसा कि पहले बताया गया है, बटन को हटाने से ctrl + B का उपयोग करने या बोल्ड टेक्स्ट पेस्ट करने की संभावना को अवरुद्ध नहीं किया जाता है - आप बस इसे रोक नहीं सकते हैं।