簡體   English   中英

從VBA中的另一個宏調用時,防止顯示用戶窗體

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM