最近又想要把金融報價看盤軟件,透過 DDE 方式,傳給 Excel 2010 接收即時資料,並利用 VBA 作些較簡單的處理,以及圖形的展現。

結果從報價軟件直接複製 DDE 連線字串後,它會自動啟動 Excel。但就在此時,Excel 程式就當掉了,並出現 "沒有回應" 的字樣,必須透過工作管理員硬砍掉該程序才行,屢試不爽。

這個問題困擾許久,原以為是 Excel 選項內設定的問題。包括「信任中心」、「DDE 啟動」等選項設定,都一一試過卻仍一樣的現象,就只差在要不要考慮重新安裝 Office。

透過 Google 爬文查了好多篇文章,幾乎就繞在上述設定的問題 (無效,沒有解決)。就在快放棄之餘,不經意看到一篇文章,有國外網友分享說,只要關掉 Google Chrome 瀏覽器,就可以正常啟動 DDE 連結。

有這麼簡單? 結果還真的,一關掉 Chrome,再試著從報價軟體複製 DDE 連線字串並啟動 Excel,馬上就啟動成功,相當順暢! 然後我再加上 "Chrome Excel DDE Hang" 等關鍵字,證實就是有這個相當離譜的現象。底下就節錄兩篇討論串:
 o Chrome - MS Office DDE conflict
 o Excel 2010 and TOS DDE Problems

所以,到底有沒有根本性的解決方案? 沒有,目前唯一的方法 (截至 2011/12/05)就是:要啟動 DDE 連線字串前,請先把 Google Chrome 瀏覽器 (v10~v15 都一樣)給關掉。

真的很離譜的臭蟲,打開 IE 或 Firefox 倒是不會有這樣的問題發生,可以與 Office DDE 和平相處。

到底是 Chrome 還是 Office DDE 的問題呢? 我也不想追究了。只是我都已經習慣使用 Chrome 作為個人關於電子郵件/RSS Reader,還有工作事項管理等平台,若是看盤期間都不能打開那可怎麼辦?

我的作業系統環境是 Windows 7 x64,現在的折衷解決方式就是,打開 Windows XP Mode (虛擬機器),將 Google Chrome 瀏覽器複製進去並啟動執行。因為 "看來" 是兩個不同的作業系統環境,所以總算兩者不會衝突了。

這樣的怪現象難得一見,特此記錄下來。