我想创建应用程序来填充由C#Interop.Word库自动化的模板文档。用户从现有文件中选择模板文档。我必须将此文档克隆到新文档(包括填充,边距和所有格式)。
1.我尝试使用InsertFile函数
document = app.Documents.Add();
object missing = System.Reflection.Missing.Value;
object start = 0;
object end = 0;
Word.Range range = document.Range(ref start, ref end);
range.InsertFile(template_file_name, ref missing, ref _true, ref missing, ref missing);
并在文档内填充模板。但是这个函数改变了模板中的一些格式
<小时/> 2.我尝试过使用Copy和PasteSpecial
app=new Word.Application();
src_doc=app.Documents.Open(template_file_name);
document=app.Documents.Add();
src_doc.Content.Copy();
document.Content.PasteSpecial(DataType:Word.WdPasteOptions.wdKeepSourceFormatting);
此代码保持格式正确。但是在粘贴之后改变价值是有问题的。 “src_doc”即使关闭后也会保持打开状态。
长话短说。需要将现有文档克隆为新文档
答案 0 :(得分:1)
这可以通过将文件路径传递到Docments.Add方法来实现:
Word.Application _word = new Word.Application();
_word.Visible = true;
_word.WindowState = Word.WdWindowState.wdWindowStateMaximize;
Word.Document _doc = _word.Documents.Add(pathToExistingDocument);