Je cours une macro à partir d'un classeur (par exemple, wb1.xlsm) qui copie un classeur de modèle dans un autre emplacement et le renomme (par exemple wb2.xlsm). Il utilise ensuite Application.Run pour exécuter un AutoSetup() Sub situé dans wb2. Cela crée les feuilles appropriées en fonction des paramètres donnés.Empêche UserForm d'être visible lorsqu'il est appelé à partir d'une autre macro dans VBA
Mon problème se produit pendant ce processus. Il est configuré en utilisant des fonctions existantes qui se produisent dans un objet UserForm.
Lorsque je lance la macro, je ne veux rien voir apparaître, mais même avec Application.Events et Application.Visible défini sur False L'UserForm qui effectue le calcul d'installation apparaît toujours et est visible.
Des suggestions?
code ci-dessous:
'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
Pourquoi existe-t-il une forme d'utilisateur? Cela permet-il un changement dans le calcul? Pouvez-vous poster votre code pour AutoSetup(), afin que nous puissions voir ce qui se passe? – Mitch
Avez-vous les droits (techniquement et dans votre organisation) pour mettre à jour le modèle? –
UserForm (MenuForm) est utilisé pour la configuration manuelle. Essentiellement, j'automatise le processus de configuration manuelle en envoyant les paramètres qu'un utilisateur entrerait et en simulant ensuite l'événement click. –