【问题标题】:Opening Office 2007 Documents from in memory storage - How?从内存存储中打开 Office 2007 文档 - 如何?
【发布时间】:2012-01-02 01:55:57
【问题描述】:

我是一名 C++ 开发人员,正在努力更新已广泛使用 IStorage 接口从内存存储(通过 ILockBytes)打开 Office 2007 之前的文档的应用程序。

如果您到目前为止还关注我,您可能知道新的 Office 文档格式与 IStorage 容器不兼容。我尝试更新的应用程序依赖于所有 Office 应用程序都具有的 IPersistStorage 接口,并且编写的代码调用 IPersistStorage 的 load 方法从 IStorage 接口读取文档。

所以问题是:

我可以使用哪些 COM 接口从内存容器中读取 Office 2007 文档?

【问题讨论】:

  • 在俄罗斯 Delphi 社区中,建议使用以下调用顺序: GlobalAlloc(GMEM_MOVEABLE, Stream.Size) => GlobalLock => CreateILockBytesOnHGlobal => StgOpenStorageOnILockBytes => OleLoad => IOleObject.DoVerb(0, nil,零, 0, 0, 矩形(0, 0, 0, 0))

标签: ms-office istorage


【解决方案1】:

我一直在努力解决几乎相同的问题,即从数据库存储中读取和写入。

现在,我认为最好的方法可能是使用 WebDAV 支持,并使用 Web 服务器来实现 WebDAV 以读取和写入数据库。

虽然一团糟...欢迎其他指针:-)

【讨论】:

    猜你喜欢
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多