![]() |
PCDVD數位科技討論區
(https://www.pcdvd.com.tw/index.php)
- 七嘴八舌異言堂
(https://www.pcdvd.com.tw/forumdisplay.php?f=12)
- - 如何在電腦上同時跑多個巨集
(https://www.pcdvd.com.tw/showthread.php?t=1018273)
|
|---|
如何在電腦上同時跑多個巨集
Google找不到這個問題
我有個VBA寫的程式.是個模擬器, 我已把輸入的參數範圍切割成好幾個段落分開跑, 每個段落大概要跑24小時左右, 但我發現Excel在執行時只會佔用25%(四核心電腦) 也就是有75%是閒置的 所以我就想乾脆能否多開三個Excel同時多跑幾個段落,這樣會快些 但發現Excel一旦在跑巨集時,整個程式就鎖住了,根本不讓我開第二個, 有人有辦法解決嗎? |
|
我只會手動的方式.
先從程式集開啟四個Excel空白程式 再各自開啟含巨集的.xls檔案 到工作管理員, 對著 Excel.exe按右鍵, 指定要使用CPU核心 這樣就可以同時讓四個核心跑巨集 不過如果程式要跑這麼久, 用正規程式語言跑multi thread不是比較好? |
這模擬器有用到Excel的很多功能
用其他語言硬幹,會非常麻煩 另外你的方法不行喔 當你開了四格excel後按下第一個巨集執行時 整個excel就鎖住了 引用:
|
引用:
殺雞用牛刀, 開 VM 跑 :laugh: 不過我想應該有更好的辦法吧 :jolin: |
引用:
可以用sleep 方法請參考2樓的網址 |
引用:
真的嗎? 我剛又測試了一下 兩個Excel的巨集會各自執行沒問題 請問你是先開啟四個"獨立"Excel程式嗎? 所謂獨立, 就是按Alt+F4關閉其中一個Excel時 其他Excel不會連帶一起自動關閉 如果是在檔案總管內直接點兩下檔案 這樣所有的 .xls會用同一個Excel程式來執行 |
我以前要處理這種問題時
是直接用 vb 寫程式呼叫excel 函式,做成執行檔 只要電腦夠強,愛開幾個都行 不過您vba已經寫好就不適合了,如果沒有一定的程式能力 要改成vb外部呼叫,可是大工程 剛剛查一下資料,發現excel 2007(或更新),有一個新功能 "多執行緒計算" 這樣只要開一個excel ,讓excel 自己去分配核心計算 我沒試過這個方法,所以請自行參考微軟說明 http://msdn.microsoft.com/zh-tw/library/office/bb687899(v=office.14).aspx |
有影片有真相
[YOUTUBE]dM7s2JjQgyw[/YOUTUBE] :laugh: :laugh: :laugh: :laugh: |
1個附加檔案
excel 2007 有多執行緒的選項
|
| 所有的時間均為GMT +8。 現在的時間是11:57 AM. |
vBulletin Version 3.0.1
powered_by_vbulletin 2025。