[英]Prevent UserForm from being visible when called from another macro in VBA
我正在從一個工作簿(即wb1.xlsm)運行一個宏,該宏將模板工作簿復制到另一個位置並重命名它(即wb2.xlsm)。 然后,它使用Application.Run運行位於wb2中的AutoSetup()子程序。 這將基於給定的參數創建適當的工作表。
我的問題在此過程中發生。 它是使用UserForm中存在的現有功能設置的。
當我運行宏時,我不希望彈出任何內容,即使將Application.Events和Application.Visible設置為False,執行設置計算的UserForm仍會彈出並可見。
有什么建議么?
代碼如下:
'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
后,從“自動設置”調用此子例程。
然后從wb1.xlsm
調用新的子例程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.