【问题标题】:OpenOffice DDEExecute FailingOpenOffice DDEExecute 失败
【发布时间】:2015-05-14 15:20:10
【问题描述】:

我的 Delphi 应用程序当前使用 DDEExecute 将命令“[File.CLOSE()]”发送到 Excel。

我想在 Excel 许可存在问题的环境中运行应用程序,因此我们尝试使用 OpenOffice。如果重要的话,我们正在使用 LibreOffice。

当我尝试对 sOffice DDE 服务器运行相同的命令时,它失败并出现以下错误:

16393   DMLERR_NOTPROCESSED Receiving task was not interested in message.

我可以使用 DDERequest 从电子表格中成功提取数据,因此我知道我的配置是正确的。

我怀疑我的问题可能是因为 File.CLOSE() 是 OpenOffice 中不存在的某种宏或 VBA 命令。如果是这种情况,我可以使用其他一些命令来达到同样的效果吗?

【问题讨论】:

  • 应用程序必须设计为支持 DDE。 Excel 是(因为 DDE 是一项早已被放弃的 Microsoft 技术)。显然 OO 不支持它(如错误消息所示,它不感兴趣,这意味着它没有响应 DDE)。我不知道 OO 应用程序对 DDE 的任何支持;这是一项很久以前的技术,多年前被 COM 自动化取代。
  • @Ken 我可以使用 DDERequest 从电子表格中成功提取数据,因此我知道我的配置是正确的。
  • @David: 那么显然OO不支持 File.CLOSE().
  • @Ken 看来是这样
  • 如果你们中的任何一个可以就这个问题提供任何有用的评论而不是互相狙击,也许会更有建设性? Stack Exchange 上提供私人聊天工具。

标签: delphi openoffice-calc dde


【解决方案1】:

OpenOffice 使用“OpenOffice Basic”,以前称为 StarBasic。所以它不理解命令'File.CLOSE()'。

对应的 OpenOffice Basic 命令是 'thisComponent.close(true)'。

https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 2010-12-06
    相关资源
    最近更新 更多