我正在從一個工作簿(即wb1.xlsm)運行一個宏,該工作簿將模板工作簿複製到另一個位置並重命名它(即.wb2.xlsm)。然後它使用Application.Run運行位於wb2中的AutoSetup()子。這將根據其給定的參數創建適當的工作表。從VBA中的另一個宏調用時阻止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
爲什麼有一個用戶表單?它是否允許在計算中進行一些更改?你可以發佈你的代碼AutoSetup(),所以我們可以看到發生了什麼? – Mitch
您是否有權利(技術上和您的組織)更新模板? –
UserForm(MenuForm)用於手動設置。本質上,我通過發送用戶輸入的參數然後模擬點擊事件來自動執行手動設置過程。 –