2009-02-13 30 views
6

Sử dụng VSTO, tôi đã tạo tab tùy chỉnh trong trình thiết kế Ribbon và thêm một số nhóm và nút điều khiển tại đó. Khi người dùng nhấp vào một trong các nút, tôi muốn kết nối với một trang SharePoint và mở một tài liệu từ nó trong Word (một thể hiện đã được mở). Tôi có thể kết nối với trang SharePoint đã có và có các URL đến các tài liệu mà tôi muốn mở.Mở tệp trong Word qua ribbon-behind

Nhưng làm cách nào tôi có thể tải các tài liệu này vào Word? Tôi đã có trong code-behind trong Word, vậy làm thế nào tôi có thể nhắm mục tiêu trường hợp Word tôi đang ở và mở một tập tin ở đó?

Xin cảm ơn trước.

Trả lời

6

Bạn sẽ phải sử dụng API Word để mở tài liệu. Xem phần này link để tham khảo. Bạn có thể phải cập nhật nó dựa trên phiên bản API bạn sử dụng.

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

Vâng, đó là những gì tôi hiện đang làm việc. Vì vậy, nó loại công trình, nhưng tôi có một vấn đề với điều này ... nó sẽ mở ra trong một cửa sổ Word mới, không phải là trường hợp tôi đã được sử dụng ban đầu. Có cách nào 'sửa' được không? – Kon

+2

Tôi tìm thấy câu trả lời của mình ở đây: http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/b6fa2787-bf87-4ef2-9c99-9df9f2c0a202/. Đã phải sử dụng Globals.ThisAddin.Application.Documents.Open (...) – Kon

Các vấn đề liên quan