Board logo

標題: [發問] Yeswin DDE 的問題 [打印本頁]

作者: mustang    時間: 2012-3-30 20:54     標題: Yeswin DDE 的問題

不知到版上有沒有理財高手有利用元大Yeswin提供的DDE功能自己寫Excel檔分析的..

我把自己投資組合的股票都整合到Excel檔裡面, 讓它自動抓報價跟漲跌幅並設定一些自我進出的條件.
但是DDE欄位的格式是例如=YES|DQ!'2330.Price' 這樣子, 被單引號包起來的是字串...
於是乎變成要是我有十檔個股, 要抓價格, 漲跌幅, 名稱等資料, 變成要像是=YES|DQ!'2330.Price' , =YES|DQ!'2330.Change', =YES|DQ!'2330.Volume'..... 變成所有個股代號跟欄位要一個一個欄位慢慢改

因此想請問有沒有辦法以變數的方式, 例如某一個欄位輸入代號例如2330, 後面DDE就會自動帶入代號然後去抓取我指定的資料呢? 謝謝
作者: kobo    時間: 2012-3-31 11:53

我沒有 "元大Yeswin提供的DDE"
但你可試試下列做法"
儲存格A1值=股票代碼
儲存格B1值=Price
儲存格C1值=Change
儲存格D1值=Volume
在A2填入 2330
執行下列程式
Sub test()
    Dim Stock As String
    Stock = Range("A2")
    Range("B2").Formula = "=YES|DQ!'" & Stock & ".Price'"
    Range("C2").Formula = "=YES|DQ!'" & Stock & ".Change'"
    Range("D2").Formula = "=YES|DQ!'" & Stock & ".Volume'"
End Sub
作者: mustang    時間: 2012-3-31 12:31

回復 2# kobo



如果不用 巨集

是直接用工作表上使用
作者: million2billion    時間: 2012-3-31 22:07

我用VB6輸入字串的方式,輸入到excel.
太麻煩了~
作者: mustang    時間: 2012-4-1 03:30

我沒有 "元大Yeswin提供的DDE"
但你可試試下列做法"
儲存格A1值=股票代碼
儲存格B1值=Price
儲存格C1值 ...
kobo 發表於 2012-3-31 11:53



可不可以 在 A1 輸入 股票代號 在 B1 可以用 =YES|DQ!'A1.Name'
作者: gong    時間: 2012-4-1 10:45

A1=2330
B1=INDIRECT("YES|DQ!'"&A1&".Price'")
這樣試試看
作者: mustang    時間: 2012-4-2 09:29

A1=2330
B1=INDIRECT("YES|DQ!'"&A1&".Price'")
這樣試試看
gong 發表於 2012-4-1 10:45



試過了  就是不行 才想問大家
有沒有其他的方法
作者: kobo    時間: 2012-4-2 11:31

試試看 Hsieh 大大的方法
http://forum.twbts.com/thread-5333-1-1.html
作者: mustang    時間: 2012-4-2 16:54

試試看 Hsieh 大大的方法
kobo 發表於 2012-4-2 11:31



我試過這個方法
可是 早上事是可以

下午要捉收盤價 卻不行了
不知道怎麼回事
作者: ABK    時間: 2016-6-8 12:56

用Evaluate函數定義名稱抓到DDE的值是不會變動的(即時),僅能顯示輸入公式完成當時的值 就不再變了。
作者: ABK    時間: 2016-6-8 13:19

如果是使用元大 Yeswin的朋友, 可以改用 RTD, 就可以做到用其他欄位變數來改變RTD函數裡的股票代號(或商品代號), 更方便取得自己想要的商品即時資訊(股票、期貨......等)。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)