為什麼這篇bat開啟excel鄉民發文收入到精華區:因為在bat開啟excel這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Linethan (冷冷的心)看板C_and_CPP標題Re: [問題] 開啟一個EXCEL檔並...
※ 引述《tropical72 (藍影)》之銘言:
: ※ 引述《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 好處理。
請問一下 1那一步是指 每次一打開該excel檔 就會立即自動執行指定的巨集嘛?
所以我只需要用C來打開EXCEL檔就可以了 執行巨集的命令是寫在EXCEL裡面 對嘛?
可是這樣子會變成 我每一次開檔案都會自動執行巨集嘛?
但我其實不是希望每次開檔案都要執行巨集 只有在特定的時間需要這麼做而已
我的需求其實是 我要指定每天某一個時間 打開檔案 執行巨集 檔案關閉
我想到的做法是 寫出一個.exe檔 每次執行該.exe檔
就會做 "打開指定的excel檔 執行巨集 儲存並關閉檔案"
然後我只要把這個exe檔 丟到windows裡有一個指定時間自動執行的工作列表中就好
用vba好像沒有辦法產生一個.exe檔 可以用來自動開啓指定的EXCEL檔案吧?!
所以我才想來請教 用C有沒有辦法做到這一回事
老實說我對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 真的不難!就算沒經驗三天可以搞定。)
另外 請問一下bcb是指 Borland C++ Builder??
這是我google到的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.113.194