如何将文件嵌入word docx?

时间:2015-10-14 13:17:00

标签: c# embed docx

我试图以编程方式(例如* .zip)将文件插入到现有的docx文件中。

我查看了docx open库,但它没有那里的功能。

还尝试使用Microsoft.Office.Interop.Word。我创建了一个带有表格的word文档,我试图将文件插入到表格内的单元格中。

Word.Application wordApp = new Word.Application();
wordApp.Visible = false;

Word.Document doc = new Word.Document();
doc = wordApp.Documents.Open(Environment.CurrentDirectory + "\\test.docx");
doc.Tables[1].Rows[2].Cells[1].Range.InsertFile((Environment.CurrentDirectory + "\\tttt.zip"));

但它导致了一个错误:

  

"文件似乎已损坏"

任何人都可以有这方面的经验和帮助吗?

1 个答案:

答案 0 :(得分:0)

经过大量的反复试验...... 函数" Range.InsertFile"实际上并没有插入文件,它会读取文本并将其附加到Range。

解决方案很简单 - 复制粘贴...

using System.Collections.Specialized;
...
...
//Copy the Filename to Clipboard (setFile function uses StringCollection)
StringCollection collection = new StringCollection();
collection.Add(Environment.CurrentDirectory + "\\MyFile.zip");
Clipboard.SetFileDropList(collection);

//Paste into the selected Range.
range.Paste();

*还有功能" PasteSpecial"它没有用(只支持特定的数据类型)。