J'essaie de programmer un module Excel où il insère dynamiquement du code dans de nouveaux objets dans un formulaire créé au moment du design.McAfee supprime le code du module VBA
J'utilise ce code où "Code" contient une chaîne avec le code réel qui devrait aller dans l'objet DstrFiles.
Dim DstrFiles As Object
Set DstrFiles = ThisWorkbook.VBProject.VBComponents("DistributeFiles")
With DstrFiles.CodeModule
.InsertLines .CountOfLines + 1, Code
End With
Mon problème est que quand je les utilise .InsertLines, McAfee supprime le code entier de mon module, est-il un moyen de contourner cela?
D'abord, je crée l'étiquette avec:
Form1.Controls.Add("Forms.Label.1", "Label1", True)
Puis-je utiliser le .InsertLines pour créer un code pour aller avec l'étiquette. Par exemple, je veux que la couleur de fond de l'étiquette devienne rouge quand quelqu'un clique dessus. Cela a été très facile à accomplir avec ".InsertLines".
Une manière laide de contourner ce problème consiste simplement à créer un tas de code à l'avance qui est prêt en arrière-plan, puis à limiter la quantité d'étiquettes qui peuvent être créées à la volée. - J'espère que ça ne viendra pas à ça.
Je suis allé googeling, et cela semble être un problème connu avec McAfee.
Est-ce que quelqu'un connaît un moyen de créer un formulaire utilisateur dynamique qui peut ajouter du code à de nouvelles étiquettes ou de nouveaux boutons ajoutés avec la méthode Contrls.Add?
Il ya une discussion ici qui peut aider: http://www.vbforums.com/showthread.php?t=358444 – Fionnuala