nes 發表於 18-6-14 17:36

很實用的DDE小工具分享

很多情形在跨應用的過程中會用txt檔作中介,
也就是於A系統中存txt檔,再由B系統去讀檔分析或處理,
而選擇這種方式的理由我想就是因為最簡單這樣而已吧!
至於有什麼缺點應該不用太多著墨了

所以想像現在B系統是EXCEL,A系統若能直接用DDE通知那不是甚好嗎?
又或是有更多系統需要相關訊息,那麼能透過DDE訂閱EXCEL的資料那豈不是更妙哉!

可惜DDE的應用通常已經寫死一些狀態,不太能異想天開的活用,
一般人要設計也不太容易,所以發現到這個小工具時真的是眼睛一亮!!

程式很小就是一個.exe的執行檔而已
先來看看影片中的使用例子
1. Win10(x64) + Excel 2016(x32)
2. Win10(x64) + Excel 2010(x32)
3. WinXP(x32) + Excel 2000(x32)
(XP確認無裝過.NET)

三個例子說明一個重點:
從2000的Windows開始不論Office新舊版全都可以用!
尤其第三個例子中可以發現命令執行還能確保彈無虛發!
也就是當環境確有接受命令的目標時,會確認執行完成才結束,
有經驗的都知道,當EXCEL處於編輯狀態時是無法處理DDE訊息的,
而影片3中是去點出'關於',這狀態下的EXCEL也是一樣暫停處理DDE訊息,
關閉了'關於'的視窗後,EXCEL立刻收到訊息,小程式也就立即結束了

久沒上來才發現,以前Web上的CGI應用,原來貌似現在講的Smart API
看完後,這個沒有dll的DDE小程式也晉升為一個Smart API了!
只要會寫能呼叫執行檔的程式就能爽用的不要不要的哩!

雖然沒有dll,但是魔鬼在其中
(搞了好久終於弄出來看到,燒燙燙新鮮的蚌肉)


如果能解開裡面的API,那麼設計與想像的空間就更無可限量了!!

小工具在這兒:

如果文章寫的太好, 戳中您的玩興就快快下載吧!
不過這是 demo / test , 還請低調使用, 謝謝!!
用起來好像沒有什麼限制, 真的是好棒棒的流出版阿!

不曉得是不是我的環境太完美, 用起來很順都沒什麼問題,
就看有沒有其他同好要玩玩看了~


ram 發表於 18-11-19 17:10

blue2263 發表於 18-11-17 14:34
請教要怎麼使用,我開啟DdePushExcel.exe,畫面出現視窗,隨及就不見

如果要直接使用 DdePushExcel.exe

因為它是一個命令列執行的工具程式

所以想觀察的話最好先開一個 命令提示字元

再去操作指令就能看到運作過程了

Win10就在視窗功能上不要按滑鼠左鍵

而是按滑鼠右鍵就會出現選單可以看到


從 附屬應用程式 那邊也可以找到一個黑黑的圖示


如果以前沒用過的話可能要稍微摸索學習一下{:4_661:}


AGWZ 發表於 18-6-14 18:27

感謝 雖然還不知道該如何用起 但 工具類 一律先收起來再說

nes 發表於 18-6-14 21:27

AGWZ 發表於 18-6-14 18:27
感謝 雖然還不知道該如何用起 但 工具類 一律先收起來再說

用法都在影片中喔!

基本上就是有2個參數的方式和3個參數的方式,
3個參數的方式單次只能通知1格儲存格
2個參數的方式就看命令列能寫多長,可以一次更新多格
兩種方式都能用 = 號讓EXCEL作運算式處理,就像自己在EXCEL上敲內容的意思


ram 發表於 18-6-15 11:09

好有趣的小工具阿,感謝分享{:4_621:}
馬上跳著去試用

所以位置就是用 R##C##

代表EXCEL的Row和Column

也就是EXCEL上看的 F4那格就會是 R4C6

可惜是32位元的,不能用在x64的程式裏

nes 發表於 18-6-19 11:07

ram 發表於 18-6-15 11:09
好有趣的小工具阿,感謝分享
馬上跳著去試用



可惜是32位元的,不能用在x64的程式裏
這個應該是有誤解吧!
x64的程式裏一樣可以呼叫32位元版本的執行檔

.exe能不能跑看OS版本而已
不論是x64還是x86的程式裏要呼叫.exe出來執行都是透過OS
x64的OS可以跑x64和x86版本的.exe
x32的OS可以跑x86版本的.exe無法跑x64的版本

就像以前16位元的程式放到WinXP還是能跑,現在的Win10也一樣能跑

如果考慮到還有模擬器的運作模式,能不能跑還真是不好定義

而現在更多程式不能跑的原因則是因為掛了太多套件,
如果環境不完整該軟體就跑不起來


miyusuea 發表於 18-6-19 11:19

GOOD WORK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ram 發表於 18-6-19 16:10

nes 發表於 18-6-19 11:07
這個應該是有誤解吧!
x64的程式裏一樣可以呼叫32位元版本的執行檔



各位大大抱歉...是小弟太妄下斷言了{:4_160:}

經用C#寫x64的程式呼叫了DdePushExcel.exe這支程式

結果... ... ... ... 成功! {:4_623:} (其實是期待看到失敗{:4_660:})

圖中用到的組合是 Win7 x64, Office 2007 x32, VS2010


button點下去有看到兩個黑視窗閃一下(來不及抓圖)

EXCEL上就出現程式中要輸出的內容了! 好帥阿{:4_103:}

確定可行的話就真的是大家的福氣了

程式碼我只有寫2行就不附件上來丟臉了,想必也沒有人會想要下載

指令和語法是網路上找的,貼給大家方便複製
            System.Diagnostics.Process.Start("DdePushExcel.exe", "Sheet1 R1C1 Hello!");
            System.Diagnostics.Process.Start("DdePushExcel.exe", "Sheet1 R5C5 5*5=25");



shanggao6 發表於 18-6-20 21:24

thank you!{:4_177:}{:4_186:}{:4_106:}

blue2263 發表於 18-11-17 14:34

請教要怎麼使用,我開啟DdePushExcel.exe,畫面出現視窗,隨及就不見

lilyjds 發表於 18-12-31 10:33

好帥阿

確定可行的話就真的是大家的福氣了{:8_527:}

ram 發表於 19-1-1 18:14

lilyjds 發表於 18-12-31 10:33
好帥阿

確定可行的話就真的是大家的福氣了

有阿

我就是把exe重新包裝成dll{:4_186:}

雖然我的行為有點蠢

但是這可以取代outputfile使用真的很帥{:4_113:}

change080128 發表於 19-6-10 18:11

錢還不夠! 等存夠錢再來買!

感謝分享   

sh18 發表於 20-8-11 13:23

太贵了 买不起,能不能降低一点价格 比如50

peilincheng 發表於 20-8-14 11:33

我錢不夠,買不起
頁: [1] 2
查看完整版本: 很實用的DDE小工具分享