从VBA中的另一个macros调用时阻止UserForm可见

我正在从一个工作簿(即wb1.xlsm)运行一个macros,该工作簿将模板工作簿复制到另一个位置并重命名它(即.wb2.xlsm)。 然后,它使用Application.Run运行位于wb2中的AutoSetup()Sub。 这将根据给定的参数创build适当的工作表。

我的问题发生在这个过程中。 它使用用户窗体中出现的现有function进行设置。

当我运行macros时,我不想看到任何东西popup,但即使与Application.Events和Application.Visible设置为False用户窗体执行设置计算仍然popup,并可见。

有什么build议么?

代码如下:

'AutoSetup Module Public Sub AutoSetup(Project As String, Program As String, TestName As String, _ TestType As String, TaskNumber As String, Token As String) Dim TokenArr() As String Application.ScreenUpdating = False Application.EnableEvents = False Set IntSht = ActiveWorkbook.Sheets("Integrations") Set DctSht = ActiveWorkbook.Sheets("Duct") IntSht.Range("B4").value = Program IntSht.Range("B5").value = TestName IntSht.Range("E4").value = Project IntSht.Range("E5").value = TaskNumber Call WorkbookSetup MenuForm.TestSetBox.value = TestType TokenArr = Split(Base64DecodeString(Token), ",") EPFLogin.TextBox1.value = TokenArr(0) EPFLogin.TextBox2.value = TokenArr(1) MenuForm.LoadSheets (True) DctSht.Activate ThisWorkbook.Save ThisWorkbook.Close End Sub 

wb2.xlsm ,将计算移动到独立模块中的单独Sub例程。 显示UserForm后,从“AutoSetup”调用该子例程。

然后从wb1.xlsm调用新的子例程。