- 帖子
- 66
- 主題
- 16
- 精華
- 0
- 積分
- 99
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- office 2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-8-12
- 最後登錄
- 2023-10-26
|
4#
發表於 2021-7-12 21:53
| 只看該作者
回復 3# singo1232001
感謝singo1232001大大的回覆,您的附檔小弟已測試,但有問題請教,
Workbooks("a1").Sheets("工作表1").[a1] = i: DoEvents
一開始都出錯在這邊,更改如下後可以執行,
Workbooks("a1.xlsm").Sheets("工作表1").[a1] = i: DoEvents
(a2,a3同步更改)
但a2及a3仍然是在a1的檔案架構下以唯讀模式開啟執行,
唯讀模式開啟之檔案a2,a3均可完成執行巨集,
已先行手動獨立執行a2及a3檔未執行巨集,
到此步驟共有5個檔案開啟1a1,1a2,1a3,1a2唯讀,1a3唯讀
不知道哪邊有錯還請指導指導,感恩!
小弟構想是在A檔案呼叫B檔案以獨立執行方式開啟並執行巨集,
但A檔案可以繼續進行手動工作或其他巨集,而B檔案持續執行巨集,
Dim xlApp As Excel.Application
Dim book As Excel.Workbook
Dim sheet As Excel.Worksheet
Set xlApp = CreateObject("excel.Application")
Set book = xlApp.Workbooks.Open("D:\公式.xls")
此處可以獨立執行開啟B檔案
Application.Run "'D:\公式.xls'!Module1.msg"
此處無法以獨立執行B檔案msg(),仍以A檔案執行msg()
上述寫法仍需克服以下問題:
一、可開啟獨立執行B檔案,但無法執行B檔案巨集;或 可執行巨集但卻是以A檔案架構下開啟
二、因程式碼撰寫在A檔案,故呼叫B檔案執行巨集未完成前,控制權仍在B檔案,無法呼叫後歸還控制權
以上還請大大指導指導,感激喔! |
|