gpt4 book ai didi

ms-word - 从 Office 2007 加载项序列化当前 ActiveDocument

转载 作者:行者123 更新时间:2023-12-02 10:36:15 24 4
gpt4 key购买 nike

我正在创建一个 VSTO Office 2007 加载项。

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

所以,我通过访问一个网站并单击一个 URL 打开该文档,然后单击“向我发送 Word 文档”,然后选择“使用 MS Word 2007 打开”。

文档打开,如果我检查我拥有的数据:

ActiveDocument.Fullname = http://[servername or ip]/[some iis folder]/file.asp?id=353&type=doc`

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

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

我找到了很多答案,都说这是不可能的。但我也有一位客户拥有一个旧的加载项,该加载项可以从当前的 ActiveDocument 执行 byte[]

谁能帮帮我。

最佳答案

您可以转换ActiveDocument到 COM 互操作 IPersistFile将打开的文档字节的副本保存到本地临时路径,然后读回它们以发送到您的网络服务。在 Office 中,如果不先保存到磁盘,则无法从事件文档中读取字节。请参阅this MSDN blog for reference .

COM.IPersistFile compoundDocument = Application.ActiveDocument as COM.IPersistFile; 
compoundDocument.Save(filePath, false);
byte[] content = File.ReadAllBytes(filePath);

关于ms-word - 从 Office 2007 加载项序列化当前 ActiveDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12175273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com