很實用的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 , 還請低調使用, 謝謝!!
用起來好像沒有什麼限制, 真的是好棒棒的流出版阿!
不曉得是不是我的環境太完美, 用起來很順都沒什麼問題,
就看有沒有其他同好要玩玩看了~
blue2263 發表於 18-11-17 14:34
請教要怎麼使用,我開啟DdePushExcel.exe,畫面出現視窗,隨及就不見
如果要直接使用 DdePushExcel.exe
因為它是一個命令列執行的工具程式
所以想觀察的話最好先開一個 命令提示字元
再去操作指令就能看到運作過程了
Win10就在視窗功能上不要按滑鼠左鍵
而是按滑鼠右鍵就會出現選單可以看到
從 附屬應用程式 那邊也可以找到一個黑黑的圖示
如果以前沒用過的話可能要稍微摸索學習一下{:4_661:}
感謝 雖然還不知道該如何用起 但 工具類 一律先收起來再說 AGWZ 發表於 18-6-14 18:27
感謝 雖然還不知道該如何用起 但 工具類 一律先收起來再說
用法都在影片中喔!
基本上就是有2個參數的方式和3個參數的方式,
3個參數的方式單次只能通知1格儲存格
2個參數的方式就看命令列能寫多長,可以一次更新多格
兩種方式都能用 = 號讓EXCEL作運算式處理,就像自己在EXCEL上敲內容的意思
好有趣的小工具阿,感謝分享{:4_621:}
馬上跳著去試用
所以位置就是用 R##C##
代表EXCEL的Row和Column
也就是EXCEL上看的 F4那格就會是 R4C6
可惜是32位元的,不能用在x64的程式裏
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也一樣能跑
如果考慮到還有模擬器的運作模式,能不能跑還真是不好定義
而現在更多程式不能跑的原因則是因為掛了太多套件,
如果環境不完整該軟體就跑不起來
GOOD WORK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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");
thank you!{:4_177:}{:4_186:}{:4_106:} 請教要怎麼使用,我開啟DdePushExcel.exe,畫面出現視窗,隨及就不見 好帥阿
確定可行的話就真的是大家的福氣了{:8_527:} lilyjds 發表於 18-12-31 10:33
好帥阿
確定可行的話就真的是大家的福氣了
有阿
我就是把exe重新包裝成dll{:4_186:}
雖然我的行為有點蠢
但是這可以取代outputfile使用真的很帥{:4_113:}
錢還不夠! 等存夠錢再來買!
感謝分享 太贵了 买不起,能不能降低一点价格 比如50 我錢不夠,買不起
頁:
[1]
2