在后台运行macros

我有一些VBAmacros的麻烦。

  1. 当打开一个Excel文件( FILE1.xls )有一个macros(该macros包含一个用命令button,我编程它使用这些命令button作为文件夹,网站等快捷方式的用户窗体)。 这一步没有问题。

  2. 我试图打开一个新的Excel文件( FILE2.xls )没有macros(例如我通过邮件收到的文件),当我打开文件是不可见的。 我认为这是来自我的macros的问题。

所以我想在后台运行这个macros,并能够打开6个不同的Excel文件(例如)。

我一直在寻找解决这个问题很长一段时间。

您可以在其属性窗口中将UserForms ShowModal属性设置为False以防止其阻塞。

我已经使用下面的function在后台打开几个工作簿。

示例调用:

 Set newWorkbook = GetWorkbook(scoreCardLink) 

function:

 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