2013-04-05 155 views
2

我是Python新手(版本2.7)。我長期以來一直在使用一些使用DDE功能捕捉「實時市場數據」的優秀工作簿 - 這是由一個市場數據提供商(「Matriks」,如果事項)服務的。無法使用python進行DDE連接。 win32ui似乎不起作用

爲了簡化我的整體流程,我決定繞過這個excel工作簿來捕獲數據,而我決定使用python代碼來執行相同的任務。

問題是, 1)當我使用Pythonwin運行代碼(下面提供)時,出現「錯誤:服務器無法創建」。

2)我得到「ImportError:這肯定是一個MFC應用程序 - 當我使用IDLE運行這個非常簡單的代碼時,嘗試'先導入win32ui'。

(當然,我下載並運行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 

回答

6

問題已解決。錯誤的最基本原因是pywin模塊。

對於那些有同樣的問題,面對: 1.Delete的PythonWin和pywin32_system32 folderes完全(大概是在C:\ Python27 \ LIB \站點包)

2.檢查您的pywin32版本;它應該是用於使用V2.7

3.Download pywin32-214.win32-py2.7從適當的資源的那些214(未218)(一個是這樣的:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/

4.Everything要細。

1

我有類似的問題。我不得不:

  1. 卸載的Python 2.7 64位
  2. 安裝Python 2.7 32位
  3. 使用pywin32版本214
  4. 運行cmd.exe的管理員,以使c.ConnectTo()連接成功

然而,我仍然有,我必須讓Excel在同一時間與細胞抱着開放的價值= MTX的奇怪的問題!|爲Python腳本DATA EURUSD.SON返回一個有效的報價。否則,我只是得到「N/A」作爲返回值。

@Aykut你是否遇到過這個問題?