Re: [問題] 開啟一個EXCEL檔並且執行EXCEL的某個巨集

看板C_and_CPP作者 (藍影)時間15年前 (2011/01/20 21:44), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/4 (看更多)
※ 引述《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
要用C的話, 我推BCB. XD 我真是不求上進
01/20 22:03, 1F

01/20 22:40, , 2F
哦,對唷!!用 c 控 excel 真的是 bcb 比較方便
01/20 22:40, 2F

01/20 23:04, , 3F
記得一個月前也有討論到這個.
01/20 23:04, 3F

01/20 23:21, , 4F
是啊,不過真的良心建議去學vba,學習時間比c開發還短
01/20 23:21, 4F

01/21 10:33, , 5F
推VBA
01/21 10:33, 5F
文章代碼(AID): #1DE3n6Kt (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DE3n6Kt (C_and_CPP)