【问题标题】:Can not make DDE connection using python. win32ui appears not working无法使用 python 建立 DDE 连接。 win32ui 似乎无法正常工作
【发布时间】:2013-09-19 05:12:24
【问题描述】:

我是 Python 新手(2.7 版)。很长一段时间以来,我一直在使用一些 Excel 工作簿,这些工作簿使用 DDE 功能来捕获“实时市场数据”——由一个市场数据提供者(“Matriks”,如果有的话)提供服务。

为了简化我的整体流程,我决定绕过这个 excel 工作簿来进行数据捕获,而是决定使用 python 代码来执行相同的任务。

问题是, 1) 当我使用 Pythonwin 运行代码(如下提供)时,出现“错误:无法创建服务器”。

2) 当我使用 IDLE 运行这个非常简单的代码时,我得到“ImportError: This must be an MFC application - try 'import win32ui' first”。

(当然,我下载并运行了win32ui。)

感谢任何帮助。

# DDE code
# excel equivalent of this code is: =MTX|DATA!EURUSD.SON
import win32ui
import dde

s=dde.CreateServer()
s.Create("MTX")
c=dde.CreateConversation(s)
c.ConnectTo("DATA","SON")
c.Connected()
c.Request("EURUSD")

# returns
# Traceback (most recent call last):
#  File "C:\IQTrader\_script\_obj\DDEClient.py", line 12, in <module>
#   import dde
# ImportError: This must be an MFC application - try 'import win32ui' first

【问题讨论】:

    标签: dde


    【解决方案1】:

    问题已解决。错误的根本原因是 pywin 模块。

    对于那些面临同样问题的人: 1.彻底删除pythonwin和pywin32_system32文件夹(大概在C:\Python27\Lib\site-packages下)

    2.检查你的pywin32版本;对于使用 v2.7 的用户,它应该是 214(而不是 218)

    3.从适当的资源下载pywin32-214.win32-py2.7(一个是这个:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/

    4.一切都应该没问题。

    【讨论】:

      【解决方案2】:

      我遇到了类似的问题。我不得不:

      1. 卸载 Python 2.7 64 位
      2. 安装 Python 2.7 32 位
      3. 使用pywin32版本214
      4. 以管理员身份运行 cmd.exe,使 c.ConnectTo() 连接成功

      但是,我仍然遇到一个奇怪的问题,即我必须同时打开 Excel,其中包含值 =MTX|DATA!EURUSD.SON 的单元格,python 脚本才能返回有效的报价。否则,我只会得到“N/A”作为返回值。

      @Aykut 你也遇到过这个问题吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-04
        • 2012-05-06
        • 2013-02-17
        • 2017-10-09
        • 2017-08-03
        • 2014-05-02
        • 2011-09-11
        • 2016-02-11
        相关资源
        最近更新 更多