COCO研究院

 找回密碼
 註冊
搜索
查看: 31884|回復: 15

[API] 很實用的DDE小工具分享

[複製鏈接]
發表於 18-6-14 17:36 | 顯示全部樓層 |閱讀模式
很多情形在跨應用的過程中會用txt檔作中介,
也就是於A系統中存txt檔,再由B系統去讀檔分析或處理,
而選擇這種方式的理由我想就是因為最簡單這樣而已吧!
至於有什麼缺點應該不用太多著墨了

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

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

程式很小就是一個.exe的執行檔而已
先來看看影片中的使用例子
1. Win10(x64) + Excel 2016(x32) ddebat-Win10-Excel2016.rar (30.96 KB, 下載次數: 63, 售價: 1 金錢)
2. Win10(x64) + Excel 2010(x32) ddebat-Win10-Excel2010.rar (66.61 KB, 下載次數: 46, 售價: 1 金錢)
3. WinXP(x32) + Excel 2000(x32) ddebat-WinXP-Excel2000.rar (83.77 KB, 下載次數: 29, 售價: 1 金錢)
(XP確認無裝過.NET)

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

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

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

執行檔中內含有API

執行檔中內含有API


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

小工具在這兒: DdePushExcel.rar (36.97 KB, 下載次數: 42, 售價: 100 金錢)

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

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


評分

參與人數 2金錢 +4 收起 理由
gunhowreg + 2 按一個讚
AGWZ + 2 感謝分享

查看全部評分

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

如果要直接使用 DdePushExcel.exe

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

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

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

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

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

命令提示字元

命令提示字元


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

命令提示字元2

命令提示字元2


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


回復 支持 1 反對 0

使用道具 舉報

發表於 18-6-14 18:27 | 顯示全部樓層
感謝 雖然還不知道該如何用起 但 工具類 一律先收起來再說
 樓主| 發表於 18-6-14 21:27 | 顯示全部樓層
AGWZ 發表於 18-6-14 18:27
感謝 雖然還不知道該如何用起 但 工具類 一律先收起來再說

用法都在影片中喔!

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


發表於 18-6-15 11:09 | 顯示全部樓層
好有趣的小工具阿,感謝分享
馬上跳著去試用

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

代表EXCEL的Row和Column

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

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

 樓主| 發表於 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也一樣能跑

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

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


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

各位大大抱歉...是小弟太妄下斷言了

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

結果... ... ... ... 成功! (其實是期待看到失敗)

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

原來x64的程式可以呼叫x32的執行檔

原來x64的程式可以呼叫x32的執行檔


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

EXCEL上就出現程式中要輸出的內容了! 好帥阿

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

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

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




發表於 18-11-17 14:34 | 顯示全部樓層
請教要怎麼使用,我開啟DdePushExcel.exe,畫面出現視窗,隨及就不見
發表於 18-12-31 10:33 | 顯示全部樓層
好帥阿

確定可行的話就真的是大家的福氣了
發表於 19-1-1 18:14 | 顯示全部樓層
lilyjds 發表於 18-12-31 10:33
好帥阿

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

有阿

我就是把exe重新包裝成dll

雖然我的行為有點蠢

但是這可以取代outputfile使用真的很帥
發表於 19-6-10 18:11 | 顯示全部樓層
錢還不夠! 等存夠錢再來買!

感謝分享   
發表於 20-8-11 13:23 | 顯示全部樓層
太贵了 买不起,能不能降低一点价格 比如50
發表於 20-8-14 11:33 | 顯示全部樓層
我錢不夠,買不起
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-11-20 13:42

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |