C#word文件克隆现有的word文件作为新文件

时间:2018-02-23 05:26:26

标签: c# ms-word interop

我想创建应用程序来填充由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”即使关闭后也会保持打开状态。

  

长话短说。需要将现有文档克隆为新文档

1 个答案:

答案 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);