2012-12-14 65 views
3

我在VBA宏中遇到了一些麻煩。在後臺運行宏

  1. 當打開具有宏Excel文件(FILE1.xls)(宏包含與我編程,它使用這些命令按鈕的快捷方式文件夾,網站等...命令按鈕用戶窗體)。這一步沒有問題。

  2. 我試圖打開一個新的Excel文件(FILE2.xls)沒有宏(例如我通過郵件收到的文件),當我打開文件時它是不可見的。我認爲這是來自我的宏的一個問題。

所以我想在後臺運行這個宏,並能夠打開6個不同的Excel文件(例如)。

我一直在尋找解決這個問題很長一段時間。

+2

無需語言表達歉意;其他用戶可以編輯您的文章清晰,或要求通過這樣的評論更多的細節。您可能想要提供有關該過程的更多信息及其中斷位置。例如,如果您不*打開FILE1.xls,Excel是否會打開FILE2.xls?你能否提供更多關於你已經嘗試過的信息,以及結果是什麼? – GargantuChet

回答

2

您可以在其屬性窗口中將用戶窗體ShowModal屬性設置爲False以防止其阻塞。

+0

哦,這很好,謝謝 – user1904295

1

我已經使用了下面的函數在後臺打開幾個工作簿。

調用示例:

Set newWorkbook = GetWorkbook(scoreCardLink) 

功能:

Public Function GetWorkbook(fullFileName As String) As Workbook 
Application.ScreenUpdating = False 
Dim result As Workbook 
Dim sFileName As String 
On Error Resume Next 

strFilePath = fullFileName 
vParts = Split(strFilePath, "/") 
sFileName = vParts(UBound(vParts)) 

Set result = Workbooks(sFileName) 
If (result Is Nothing) Then 
    Application.enableEvents = False 
    Set result = Workbooks.Open(fullFileName, ReadOnly = True, IgnoreReadOnlyRecommend = False) 
End If 
Set GetWorkbook = result 
End Function