2015-10-14 70 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」 –

相關問題