Ms word 从office 2007加载项序列化当前ActiveDocument

Ms word 从office 2007加载项序列化当前ActiveDocument,ms-word,vsto,ms-office,office-addins,Ms Word,Vsto,Ms Office,Office Addins,我正在创建VSTO Office 2007加载项 我需要启用或找到一个解决方案,在该解决方案中,我可以使用字节[]而不是硬盘驱动器保存到Web服务 所以, 我通过访问一个网站并单击url打开文档,然后单击send me a Word document,然后选择open using MS Word 2007 文档将打开,如果我检查了我的数据: ActiveDocument.Fullname=http://[servername或ip]/[some iis文件夹]/file.asp?id=353&t

我正在创建VSTO Office 2007加载项

我需要启用或找到一个解决方案,在该解决方案中,我可以使用
字节[]
而不是硬盘驱动器保存到Web服务

所以, 我通过访问一个网站并单击url打开文档,然后单击send me a Word document,然后选择open using MS Word 2007

文档将打开,如果我检查了我的数据:

ActiveDocument.Fullname=http://[servername或ip]/[some iis文件夹]/file.asp?id=353&type=doc`

所以我认为这些都在内存中,因为我没有原始文件或临时文件(如果存在)

我在磁盘上没有问题,即使文档是打开的。 如何从当前的
ActiveDocument
执行
byte[]

我已经找到了很多答案,说明这是不可能的。但是我还有一个客户,他有一个旧的外接程序,可以从当前的
ActiveDocument
中执行
byte[]

任何人都可以帮助我。

您可以转换为COM互操作,将打开文档的字节副本保存到本地临时路径,然后将其读回以发送到您的Web服务。在Office中,如果不先保存到磁盘,则无法从活动文档中读取字节。看

COM.IPersistFile compoundDocument=Application.ActiveDocument作为COM.IPersistFile;
compoundDocument.Save(文件路径,false);
byte[]content=File.ReadAllBytes(文件路径);

我已经实现了您的代码。它可以工作:)但ActiveDocument是否保存属性和BuildinProperty。