Re: [問題] 開啟一個EXCEL檔並且執行EXCEL的某個巨集
※ 引述《Linethan (冷冷的心)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: Dev-C++ 4.9.9.2
: 問題(Question):
: 我想要寫出一個執行檔
: 每次執行時它就會去開啟電腦裡的一個EXCEL檔(指定好路徑)
: 開啟後讓EXCEL檔跑裡面的一個巨集(已經寫好的巨集)
: 等巨集跑完後將EXCEL檔儲存並且關閉
: 我爬過文 知道開啟檔案可以使用system("路徑") 對嘛?
: 可是我不知道該怎麼下指令去執行EXCEL的某個巨集
: 然後再儲存EXCEL檔並關閉
: 拜託各位板友指教
先聲明,這不是為推廣 vba ,而是小弟不才認為這問題用 vba 處理好些。
這個問題我只是想給的建議是,
如果用 C 語言去呼叫 excel 執行特定巨集,
這樣我覺得很不方便,提的建議是
1. 把該 .xls(x)、.xlm 要執行的 macro 寫在剛開啟 excel 時執行,
相當於 MFC 當中的 WM_CREATE 訊息,這個動作不難,精靈可以協助完成。
2. 如果是要呼叫多個 .xls(x) 的 macro,我也建議用 vba 去處理比較方便,
就一個 .xls 去叫去其它 .xls(x) 的 macro,這個 vba 也比 c 好處理。
3. 如果你希望處理完 excel 後要把 EXCEL.exe 這個執行程式關閉就有很多做法,
可以用 C,比較麻煩一點點,用 vba 的話一行就結束。
4. 如果硬要用 C/C++ 去呼叫 .xls 巨集,小弟不才我認為用 C 控制 excel
沒什麼二樣,至於用 c 去控制 excel 這是一個可以研究很久的東西,
目前網路上討論及資源似乎也沒針對 C 去呼叫 excel 之 macro,
只有用 C 去控制 excel,這是一條漫長的道路,所以不建議您這麼做。
5. (1) (2) 完成後,用 C 唯一要做的事情是,用
system、WinExec、 ShellExecute 其中一種方式去呼叫該 .xls,
當然也可以把那個 excel 設計一份 UserForm,
執行時看起來就像普通的應用程式一樣,這樣就完全用不到 C 語言。
至於原推文中的 sikuli,這是另一套軟體,
應該是和按鍵精靈差不多的軟體,如果真要用其它軟體的話,
AutoIt 倒是我的首推,(不過用 vba 真的不難!就算沒經驗三天可以搞定。)
--
YouLoveMe() ? LetItBe() : LetMeFree();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.142
※ 編輯: tropical72 來自: 180.177.76.142 (01/20 21:47)
推
01/20 22:03, , 1F
01/20 22:03, 1F
→
01/20 22:40, , 2F
01/20 22:40, 2F
→
01/20 23:04, , 3F
01/20 23:04, 3F
→
01/20 23:21, , 4F
01/20 23:21, 4F
推
01/21 10:33, , 5F
01/21 10:33, 5F
討論串 (同標題文章)