Я делаю Office плагин для Word.Использование Microsoft.Office.Interop.У меня есть несколько файлов .dotm (шаблоны).При нажатии кнопки мне нужно скопировать весь текст из одного .dotm в мой активный документ.Я не могу понять, как я могу положить в переменную активный документ.Так что я могу вставить информацию.
Я пробовал несколько способов.Теперь я пытаюсь открыть .dotm скопировать текст оттуда, а затем вставить его в свой активный.Но это не работает.Word будет запускаться без ошибок (при запуске в Visual Studio), а затем, когда я нажимаю кнопку, он сообщает, что в этом документе нет открытого документа: var MyDoc = app.ActiveDocument;
1)
private void Button1_Click(object sender, RibbonControlEventArgs e)
{
var app = new Microsoft.Office.Interop.Word.Application();
var MyDoc = app.ActiveDocument;
var sourceDoc = app.Documents.Open(@"C:\install\CSharp\test.docx");
sourceDoc.ActiveWindow.Selection.WholeStory();
sourceDoc.ActiveWindow.Selection.Copy();
MyDoc.ActiveWindow.Selection.Paste();
2)
var newDocument = new Microsoft.Office.Interop.Word.Document();
newDocument.ActiveWindow.Selection.Paste();
newDocument.SaveAs(@"C:\install\CSharp\test1.docx");
Но если я так поступлю (2): Это сработает.Но мне нужно вставить в свой активный документ.Также я думаю, что метод копирования и вставки не очень хорош.Мэйби, есть другой способ импортировать один документ в другой.