Board logo

標題: [原創] EXCEL連結DDE股票數據,自動記錄範例下載 [打印本頁]

作者: 准提部林    時間: 2015-9-11 13:11     標題: EXCEL連結DDE股票數據,自動記錄範例下載

本帖最後由 准提部林 於 2022-12-8 21:05 編輯

EXCEL連結DDE股票數據,自動記錄範例下載

<前言>
2011年在〔奇摩知識+〕遇到網友提了這問題,這是第一次知道有DDE這個方便法門,
但至目前為止,我還沒真正用過DDE,所以,不要問我關於DDE方面的問題;
當時僅憑學得不像樣的VBA,以純邏輯推測方式,建構個簡單的模式,
沒想到,這個非專業作品還是有很多同樣需求的網友下載使用。
今天發性,整理幾個樣板供有緣人參考。(聲明:若與您的需求有差異,恕不提供個別服務)
 
<構想>
一般使用者想到的是 Worksheet_Change 事件來達到自動記錄,但DDE公式並不會觸動Change!
 
或者用 Worksheet_Calculate 事件吧!
是可以,但考慮層面較多,例如會產生〔連鎖觸動〕,要不是同一筆內容記錄成很多筆,
不然整個檔案就掛掉,您必須去控制事件發生的時機,在下載附檔中有個例子,可參考!
 
經過網路的搜尋及測試,覺得 Application.OnTime 似乎較適用,因此,才建構了這模式,
這模式加上以〔物件變數〕定義活頁簿及工作表:
Public MyBook As Workbook, MySht As Worksheet 模組頂端宣告
 
Sub 共用參照()
Set MyBook = ThisWorkbook
Set MySht = MyBook.Sheets("DDE")
End Sub
 
讓您可以在自動記錄時,
同時操作其它檔案或工作表(註:當在儲存格編輯時,程式會停頓,還是要留意)。
 
後又有網友提出〔自動記錄〕執行了,但不知如何手動讓它停止,因而加入〔uMode〕共用變數;
可惜 Application.OnTime 最短也只能一秒記錄一次,
加入 Sleep 可以一秒增加幾次,但是,Sleep 可能會導致無法操作其它檔案及工作表。
 
<後語>
只能提供範例檔供參考,程式碼並不複雜,請自行套用至您的實際檔案!
也可到我的部落格下載其它非專業的VBA範例(我非本科.野閒硬出力):
 
 
<檔案下載>
[attach]21953[/attach]
--------------------------------------------
對無法或沒有權限下載附件的網友說聲抱歉!
如果您已加入會員很久或剛加入而無法下載,請再加點心力在論壇多多交流,以達到升級!
又,若對本論壇有認同也願盡一份力,可以〔贊助會員〕方式與我們共同支持台灣罕有的EXCEL論壇。

最後 祝 歡喜開運.操作順利
作者: cloud1234    時間: 2016-5-15 20:23

感謝大大分享 來研究一下
作者: c_c_lai    時間: 2016-5-16 08:06

回復 1# 准提部林
謝謝 准提部林版主 的功德無量,
如此得以精確地點到入門重點與DDE操作心得,
網上大大亦可以朝這方向構思、學習與應用,
再次感謝版主不吝的指導!
作者: relinjan    時間: 2016-5-24 15:36

好可惜,不能看
正在為DDE特定儲存格觸發的問題困擾中
還是謝謝分享
作者: taliban2008    時間: 2016-8-26 17:27

謝謝大大分享!
最近剛好上課老師有提到這個東西
非常感謝!!!
作者: bioleon69    時間: 2016-8-28 21:38

研究大大程式碼
感謝分享
不知道是否能在程式碼後面增加中文解釋
作者: velevelev    時間: 2017-3-2 14:33

感激不盡:handshake
作者: tonycch128    時間: 2017-3-9 14:17

非常感謝分享,還要多多跟大家學習!
作者: gery    時間: 2017-3-22 22:06

謝謝大大 非常受用
作者: rogersg    時間: 2017-4-29 15:21

感謝准提部林大大,現正需要這個知識,下載下來研究一下。
作者: cslu37    時間: 2019-4-16 03:16

感謝准提部林大大分享~

請問大大:
檔案「DDE每1分記錄」:記錄的高點、低點好像是整天的高低點,請問可以記錄每1分鐘的開、高、低、收嗎@@?
作者: cslu37    時間: 2019-6-10 20:31

回復 1# 准提部林


    准提部林大大您好:
    之前有人發問:「如何將 2個巨集同時抓DDE資料到不同sheet 執行記錄」
    大大您當時在 2014-07-12 有分享過一個001的檔案,
    「001即是同時記錄1分及5分資料........」
     請問大大~可以在分享一次嗎?

     感謝准提部林大大的分享!!
     但是我的電腦連結大大所提供的網址,下載檔案 解壓縮後,卻不是excel檔案...
    (電腦不知道哪裡出問題? 還是我下載的步驟or解壓縮有錯@@?)
     
     解壓縮後的檔案如下圖
     [attach]30823[/attach]




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