HH1225 發表於 16-4-8 21:43

請教Excel VBA高手 Excel 2000 & EX2007 相容OK 但Ex2007 沒執行

請教Excel VBA高手
這段程式碼 在Excel 2000 & EX2007 相容模式執行OK
可讀取資料

但在 Excel 2007 卻讀不到資料   
不知是何原因?

Private Sub ICETRADEAPI1_NewDealReport(ByVal nDataType As Long, ByVal nDataIndex As Long)
    Dim tmpRptData As TRptData
    tmpRptData.nType = nDataType
    tmpRptData.nIndex = nDataIndex
    tmpRptData.nGridNum = m_DealRow
   
    'Sheet1.Cells(m_DealRow, 11) = ICETRADEAPI1.GetReportString(nDataType, nDataIndex, FTR_ID)
   ' Sheet1.Cells(m_DealRow, 12) = ICETRADEAPI1.GetReportString(nDataType, nDataIndex, FTR_MTH)
   ' Sheet1.Cells(m_DealRow, 13) = ICETRADEAPI1.GetReportString(nDataType, nDataIndex, CALLPUT)
    'Sheet1.Cells(m_DealRow, 14) = str(ICETRADEAPI1.GetReportValue(nDataType, nDataIndex, STRIKE_PRICE) / 1000)
   ' Sheet1.Cells(m_DealRow, 15) = ICETRADEAPI1.GetReportString(nDataType, nDataIndex, ORDNO)
    Sheet1.Cells(m_DealRow, 16) = ICETRADEAPI1.GetReportString(nDataType, nDataIndex, BUYSELL)
    Sheet1.Cells(m_DealRow, 17) = str(ICETRADEAPI1.GetReportValue(nDataType, nDataIndex, OD_PRICE) / 1000)
    Sheet1.Cells(m_DealRow, 18) = str(ICETRADEAPI1.GetReportValue(nDataType, nDataIndex, DEAL_QTY))
   
    If (m_DealRptCount = 0) Then
      m_DealRptData(m_DealRptCount).nGridNum = tmpRptData.nGridNum
      m_DealRptData(m_DealRptCount).nIndex = tmpRptData.nIndex
      m_DealRptData(m_DealRptCount).nType = tmpRptData.nType
      m_DealRptCount = m_DealRptCount + 1
    Else
      m_DealRptCount = UBound(m_DealRptData)
      ReDim Preserve m_DealRptData(m_DealRptCount + 1)
      m_DealRptData(m_DealRptCount).nGridNum = tmpRptData.nGridNum
      m_DealRptData(m_DealRptCount).nIndex = tmpRptData.nIndex
      m_DealRptData(m_DealRptCount).nType = tmpRptData.nType
      m_DealRptCount = m_DealRptCount + 1
    End If
   
    m_DealRow = m_DealRow + 1
End Sub



googleandy 發表於 16-4-9 00:08

很面熟,好像是凱基的API(昇陽)

Tina888 發表於 16-4-9 09:48

用低階版本excel VBA寫可以解決相容問題~排除這問題後
就是程式碼的問題了...

HH1225 發表於 16-4-9 11:28

googleandy 發表於 16-4-9 00:08
很面熟,好像是凱基的API(昇陽)

沒錯 這是凱基的API 艾揚的系統
Excel2007 可以下單
但讀不到成交資料
怪哉

HH1225 發表於 16-4-9 11:35

Tina888 發表於 16-4-9 09:48
用低階版本excel VBA寫可以解決相容問題~排除這問題後
就是程式碼的問題了... ...

此段程式碼在excel 2000 和 Excel 2007 相容模式都可以正常讀到資料
所以說 程式碼應該是OK的
但不知為何 Excel 2007 讀不到資料

我在猜
可能是語法定義要求不一樣的關係
但我又不知如何改?
所以才貼上來請教高手幫忙

googleandy 發表於 16-4-9 11:38

HH1225 發表於 16-4-9 11:28
沒錯 這是凱基的API 艾揚的系統
Excel2007 可以下單
但讀不到成交資料


有點好奇, 為何執著一定要用 EXCEL2007 不可 ?

HH1225 發表於 16-4-9 11:58

googleandy 發表於 16-4-9 11:38
有點好奇, 為何執著一定要用 EXCEL2007 不可 ?

是啊
其實我一直用Excel2000 用了N年了
好用的很現在還是繼續使用中
但是每次電腦開機我的XP 系統
就會google ....不再支援等警告...
雖然還是不影響 XP+Excel 2000的運作

但總有一天需升級啊
所以Excel 2007 是未雨綢繆的的備用版
但卻意外發現 整修後的新程式在Excel 2007
簡化後竟然只有330KB
且執行速度似乎更快
所以 才何執著一定要用 EXCEL2007 啊

Googleandy 是賺錢高手
當然能理解我為何要追求下單速度啊

速度快可以成交到好價位






HH1225 發表於 16-4-11 16:35

再推一下

請教Excel VBA高手
這段程式碼 在Excel 2000 & EX2007 相容模式執行OK
可讀取資料

但在 Excel 2007 卻讀不到資料   
不知是何原因?
沒有任何的錯誤訊息 所以也無從 debug

有高手可以指導方向嗎?



andy03 發表於 16-4-12 01:37

win7x64不能用excel2000吗

win7*32 应用就能用excel2000了吧


换电脑会不会更快,i7+SSD

HH1225 發表於 16-4-12 07:09

andy03 發表於 16-4-12 01:37
win7x64不能用excel2000吗

win7*32 应用就能用excel2000了吧


沒錯 win7 不認識 Excel 2000
我在2009年就用 I7 了
使用快7年了
所以 電腦的配備綽綽有餘

但還是謝謝您的回覆



HH1225 發表於 16-4-12 10:46

googleandy 發表於 16-4-9 11:38
有點好奇, 為何執著一定要用 EXCEL2007 不可 ?



Googleabdy大

這就是我今早測試的結果
也就是我執著一定要用 EXCEL2007 的原因

morona 發表於 16-4-12 10:58

開啟順序
(1) 2000, 2007
(2) 2007, 2000

再比較看看

HH1225 發表於 16-4-12 11:16

morona 發表於 16-4-12 10:58
開啟順序
(1) 2000, 2007
(2) 2007, 2000


謝謝您的建議
持續比較中
第二次訊號 2007 比2000 快0.15秒

不同電腦 當然會有誤差 數據未必精確
2000 使用Intel I7檔案比較大
2007 使用 AMD 6核 CPU檔案精簡




morona 發表於 16-4-12 12:16

HH1225 發表於 16-4-12 11:16
謝謝您的建議
持續比較中
第二次訊號 2007 比2000 快0.15秒


電腦不同
比對是無法判定 2000, 2007 哪個快的


HH1225 發表於 16-4-12 13:14

morona 發表於 16-4-12 12:16
電腦不同
比對是無法判定 2000, 2007 哪個快的

沒錯 環境不一樣 比較的結果是不客觀的
這是測試是我個人的意外發現
僅供個人參考用

回到原始的貼文的目的

請教Excel VBA高手 Excel 2000 & EX2007 相容OK
但Ex2007 沒執行
有高手知道原因嗎?
謝謝

頁: [1] 2
查看完整版本: 請教Excel VBA高手 Excel 2000 & EX2007 相容OK 但Ex2007 沒執行