Доброго времени суток. Пишу небольшую программу, в программу заносим некоторые данные, затем нажимаем кнопку "Открыть Word" и данные из программы передаются в докумен Word. В документе Word есть поля, которые нужно заменить данными из программы. При использовании раннего связывания все получается, данные в документ заносятся. Код такой
Код | Word.Application wordapp = new Word.Application(); Word.Document wrd = new Word.Document();
wordapp.Visible = true; Object template = Type.Missing; Object newTemplate = false; Object documentType = Word.WdNewDocumentType.wdNewBlankDocument; Object visible = true; template = @"D:\My Documents\contr\template\шаблон1.doc"; //Создаем документ wrd = wordapp.Documents.Add(ref template, ref newTemplate, ref documentType, ref visible); wrd.Activate(); wrd.UserControl = true; wrd.Fields[1].Select(); wordapp.Selection.TypeText("12345");
|
Хочу использовать технологию позднего связывания, но не могу получить доступ к полям. Код для позднего связывания:
Код | Type objClassType; objClassType = Type.GetTypeFromProgID("Word.Application"); objApp_Late = Activator.CreateInstance(objClassType);
objDocs_Late = objApp_Late.GetType().InvokeMember("Documents", BindingFlags.GetProperty, null, objApp_Late, null); Parameters = new Object[1]; Parameters[0] = Path.GetDirectoryName(GetFileName()) + "\\template\\" + cb_template_dogovor.Text; objBook_Late = objDocs_Late.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, objDocs_Late, Parameters);
Parameters = new Object[1]; Parameters[0] = "[1]"; objFields = objBook_Late.GetType().InvokeMember("Fields", BindingFlags.GetProperty, null, objBook_Late, null);
Parameters = new Object[1]; Parameters[0] = true; objApp_Late.GetType().InvokeMember("Visible", BindingFlags.SetProperty, null, objApp_Late, Parameters);
|
Может кто сталкивался, подскажите.
Заранее спасибо. |