2009-02-13 12 views
6

वीएसटीओ का उपयोग करके, मैंने रिबन डिजाइनर में एक कस्टम टैब बनाया है और वहां कुछ समूह और बटन नियंत्रण जोड़े हैं। जब उपयोगकर्ता किसी एक बटन पर क्लिक करता है, तो मैं किसी SharePoint साइट से कनेक्ट करना चाहता हूं और Word में एक शब्द दस्तावेज़ खोलना चाहता हूं (एक उदाहरण पहले से ही खुला है)। मैं पहले से ही SharePoint साइट से कनेक्ट करने में सक्षम हूं और उन दस्तावेज़ों के लिए URL हैं जिन्हें मैं खोलना चाहता हूं।रिबन कोड के माध्यम से वर्ड में फ़ाइलें खोलें-

लेकिन मैं वास्तव में इन दस्तावेज़ों को Word में कैसे लोड कर सकता हूं? मैं पहले से ही Word में कोड-बैक में हूं, तो मैं उस वर्ड इंस्टेंस को कैसे लक्षित कर सकता हूं जिसमें मैं हूं और वहां एक फाइल खोलूं?

अग्रिम धन्यवाद।

उत्तर

6

आपको दस्तावेज़ खोलने के लिए Word API का उपयोग करना होगा। संदर्भ के लिए यह link देखें। आपको इसका उपयोग करने वाले एपीआई संस्करण के आधार पर इसे अपडेट करना पड़ सकता है।

private void button1_Click(object sender, System.EventArgs e) 
{ 
    // Use the open file dialog to choose a word document 
    if (this.openFileDialog1.ShowDialog() == DialogResult.OK) 
    { 
     // set the file name from the open file dialog 
     object fileName = openFileDialog1.FileName; 
     object readOnly = false; 
     object isVisible = true; 
     // Here is the way to handle parameters you don't care about in .NET 
     object missing = System.Reflection.Missing.Value; 
     // Make word visible, so you can see what's happening 
     WordApp.Visible = true; 
     // Open the document that was chosen by the dialog 
     Word.Document aDoc = WordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref isVisible); 
     // Activate the document so it shows up in front 
     aDoc.Activate(); 
     // Add the copyright text and a line break 
     WordApp.Selection.TypeText("Copyright C# Corner"); 
     WordApp.Selection.TypeParagraph(); 
    } 
} 
+0

हाँ, यही वह है जो अब मैं काम कर रहा हूं। तो यह काम करता है, लेकिन मुझे इसके साथ कोई समस्या है ... यह एक नई वर्ड विंडो में खुलती है, उदाहरण के लिए मैं शुरू में इस्तेमाल नहीं कर रहा था। क्या कोई तरीका 'फिक्स' है? – Kon

+2

मुझे अपना उत्तर यहां मिला: http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/b6fa2787-bf87-4ef2-9c99-9df9f2c0a202/। Globals का उपयोग करना था। यह Addin.Aplication.Documents.Open (...) – Kon

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