2015-10-14 108 views
1

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

我看着docx打开的库,但它没有那里的功能。

也尝试使用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")); 

,但它导致了错误:

"The file appears to be corrupted"

人都可以拥有经验和帮助呢?

回答

0

经过大量的试验和错误... 函数“Range.InsertFile”实际上并没有插入文件,它读取并附加文本到范围。

解决办法很简单 - 复制粘贴...

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的”没有工作(仅限于特定数据类型支持)。

+0

虽然这可能起作用,但确实会修改不知情的用户的剪贴板。最好使用“InlineShapes.AddOLEObject” –

相关问题