在背景中运行宏

时间:2012-12-14 14:48:32

标签: excel vba excel-vba

我在使用VBA宏时遇到了一些麻烦。

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

  2. 我正在尝试打开一个没有宏的新Excel文件(FILE2.xls)(例如我通过邮件收到的文件),当我打开它不可见的文件时。我认为这是我的宏观问题。

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

    我一直在寻找解决这个问题的方法。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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