以编程方式打开位于C#中Resource1.resx中的Word文档

时间:2018-12-20 15:58:19

标签: c# ms-word

我正在使用WinForms,我尝试从我的表单中单击按钮时打开MS Word文档(带有一些帮助信息)

我的代码:

using Microsoft.Office.Interop.Word;

Microsoft.Office.Interop.Word.Application ap = new Microsoft.Office.Interop.Word.Application();
Document document = ap.Documents.Open(Resource1.sign_full);

我的.docx文件是sign_full.docx。我将其添加到我的项目Resource1.resx文件中。 然后,如果我按button1我得到

  

类型不匹配。 (apache.Documents.Open(Resource1.sign_full)”行中的(HRESULT异常:0x80020005(DISP_E_TYPEMISMATCH))错误

是否可以使用Documents.Open打开它?还是应该使用其他东西?

1 个答案:

答案 0 :(得分:2)

可以在这里找到答案:How to open embedded resource word document?

Word只能打开文件系统中存在的文件,它不能完全从内存运行。 做这样的事情:

String fileName = Path.GetTempFileName();
File.WriteAllBytes( fileName , Properties.Resources.sign_full.docx);
application.Documents.Open(fileName);

然后,当您检测到Word已关闭时,请删除文件:

File.Delete( fileName );