2010-09-28 8 views
6

के लिए VSTO 2010 का उपयोग कर रहा VSTO इस्तेमाल कभी नहीं किया है और मैं यह मुश्किल 2010मुझे कैसे एक्सेल

के लिए एक अच्छा सीखने सहायता को खोजने के लिए मेरे जरूरत सरल है लग रहा है नाम से एक वर्कशीट प्रदर्शित करते हैं, मैं एक व्यवसाय वर्कबुक 42 वर्कशीट्स के साथ (मैंने 20 का अनुमान लगाया लेकिन गिनती के बाद एक आश्चर्यजनक संख्या मिली)। मैं कर्मचारियों को बड़ी संख्या में पृष्ठों पर नेविगेट करने की अनुमति देने के लिए वीएसटीओ का उपयोग करके एक रिबन (वह हिस्सा आसान है) जोड़ना चाहता हूं। मुझे एक विशिष्ट वर्कशीट (पसंदीदा रूप से नाम से) प्रदर्शित करने के लिए सी # कोड नहीं मिल रहा है, जिसे मैं बस बटन के क्लिक ईवेंट में जोड़ सकता हूं।

धन्यवाद

उत्तर

10

कॉल (प्रकार Microsoft.Office.Tools.Excel.Worksheet का) कार्यपत्रक ऑब्जेक्ट पर Activate विधि।

आप निम्न प्रकार से अपने ThisWorkbook वर्ग से या Globals.ThisWorkbook के माध्यम से नाम से ऐसा कर सकते हैं:

private Excel.Worksheet GetWorksheetByName(string name) 
{ 
    foreach (Excel.Worksheet worksheet in this.Worksheets) 
    { 
    if (worksheet.Name == name) 
    { 
     return worksheet; 
    } 
    } 
    throw new ArgumentException(); 
} 

private void ActivateWorksheetByName(string name) 
{ 
    GetWorksheetByName(name).Activate(); 
} 

कॉल ActivateWorksheetByName और कार्यपत्रक को दिखाने के के नाम पर गुजरती हैं।

+0

मैं रिबन कक्षा के भीतर से इस वर्कबुक उदाहरण को कैसे एक्सेस करूं? मुझे इस पर एक हुक नहीं लग रहा है और मैं स्पष्ट रूप से किसी और को नया नहीं करना चाहता हूं। –

+2

आप इसे 'ग्लोबल्स' कक्षा के माध्यम से 'ग्लोबल्स। यह वर्कबुक' के रूप में एक्सेस कर सकते हैं। –

+0

धन्यवाद रिचर्ड, जैसे ही मैं कार्यालय में जाऊंगा, मैं कोशिश करूंगा। मुझे एक अच्छी VSTO 2010 पुस्तक खोजने की जरुरत है। ऐसा लगता है कि वेब पर जो कुछ मिलता है वह 99% पुराना है और मुझे यह बताने के लिए पर्याप्त नहीं पता कि कौन सा 1% उपयोगी होगा। –