返回列表 上一主題 發帖

[發問] Yeswin DDE 的問題

[發問] 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就會自動帶入代號然後去抓取我指定的資料呢? 謝謝

我沒有 "元大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

TOP

回復 2# kobo



如果不用 巨集

是直接用工作表上使用

TOP

我用VB6輸入字串的方式,輸入到excel.
太麻煩了~
Happy

TOP

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



可不可以 在 A1 輸入 股票代號 在 B1 可以用 =YES|DQ!'A1.Name'

TOP

A1=2330
B1=INDIRECT("YES|DQ!'"&A1&".Price'")
這樣試試看
知之為知之,不知為不知,誠實也!

TOP

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



試過了  就是不行 才想問大家
有沒有其他的方法

TOP

試試看 Hsieh 大大的方法
http://forum.twbts.com/thread-5333-1-1.html

TOP

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



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

下午要捉收盤價 卻不行了
不知道怎麼回事

TOP

用Evaluate函數定義名稱抓到DDE的值是不會變動的(即時),僅能顯示輸入公式完成當時的值 就不再變了。

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題