在后台运行macros
我有一些VBAmacros的麻烦。
-
当打开一个Excel文件(
FILE1.xls
)有一个macros(该macros包含一个用命令button,我编程它使用这些命令button作为文件夹,网站等快捷方式的用户窗体)。 这一步没有问题。 -
我试图打开一个新的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