通过使用VSTO创建的MS Word加载项在内存word文档中打开

时间:2013-09-27 04:34:55

标签: c# vsto add-in

我一直在为Word编写外接程序。我将文档作为byte[]加载到内存中。我需要在Word中打开它。

3 个答案:

答案 0 :(得分:1)

using System.IO;

public void MyWordFileReaderMethod()
{
   string filePath = @"c:\example.docx";
   var file = File.ReadAllBytes(filePath);
}

对象file将包含您需要的内容。

编辑1

    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.FileName = "WINWORD.EXE";
    startInfo.Arguments = @"c:\tempfile.docx";
    Process.Start(startInfo);

如果你需要用word启动内存文件,则无法将其放入临时文件并使用上面的代码。如果我没有弄错的话,2个进程不能跨进程边界共享数据。

答案 1 :(得分:1)

这是不可能的。 Word无法从内存流中打开文档。你必须使用(临时)文件。

答案 2 :(得分:0)

如果您有一个存储在HDD上的文件并想要在MS Word中打开它,那么为什么要将它装入内存。您可以使用Process Class

直接打开它
Process wordDoc = new Process();
wordDoc.FileName = @"c:\example.docx";
wordDoc.Start();