2013-09-27 43 views

回答

1

這是不可能的。 Word無法打開內存流中的文檔。你必須使用(臨時)文件。

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); 

如果您需要啓動字也沒辦法,只能把它放到一個臨時文件,並使用上面的代碼中的內存文件。如果我沒有弄錯,2個進程不能跨進程邊界共享數據。

+0

我一直在爲word編程插件。我將文檔加載到內存中。我需要在Word中打開它。 – Ateist

+0

你的問題不具體,有點令人困惑。 Process類是你正在尋找的。將立即更新答案 – Ahsan

+0

@Ateist答覆已更新。 – Ahsan

0

如果你有一個文件存儲在硬盤上,並希望在MS Word中打開它,那麼你爲什麼把它放入內存。您可以直接打開它使用處理類

Process wordDoc = new Process(); 
wordDoc.FileName = @"c:\example.docx"; 
wordDoc.Start(); 
+0

我從Web服務獲取一個文件爲byte [],並且不想保存。 – Ateist