如何将文件嵌入到word docx?
How to embed file to word docx?
我正在尝试以编程方式将文件(例如 *.zip)插入到现有的 docx 文件中。
我查看了 docx 开放库,但它没有该功能。
也尝试使用 Microsoft.Office.Interop.Word。我用 table 创建了一个 word 文档,我试图将一个文件插入到 table.
内的单元格中
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"
谁有这方面的经验和帮助?
经过大量的反复试验...
函数 "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"不起作用(仅支持特定数据类型)。
我正在尝试以编程方式将文件(例如 *.zip)插入到现有的 docx 文件中。
我查看了 docx 开放库,但它没有该功能。
也尝试使用 Microsoft.Office.Interop.Word。我用 table 创建了一个 word 文档,我试图将一个文件插入到 table.
内的单元格中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"
谁有这方面的经验和帮助?
经过大量的反复试验... 函数 "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"不起作用(仅支持特定数据类型)。