Ajout de contrôles à une image dans un objet userform Excel avec VBA
J'ai besoin pour créer des étiquettes et les boutons de manière dynamique, puis les ajouter à une image de l'objet userform. Comment dois-je faire? Il semble que la devrait être plus facile qu'elle ne l'est vraiment.
Le code suivant montre comment vous pouvez remplir dynamiquement une image dans un userform avec des contrôles...
Dans la forme que j'ai utilisé, j'ai eu un contrôle frame nommé Image1, donc dans le UserForm_Initialize vous appelez Image1.Les contrôles.Ajouter à incorporer un contrôle dans le cadre. Vous pouvez définir le contrôle de ce qui revient à un WithEvents variable de contrôle que vous avez défini dans l'objet UserForm module de code de sorte que vous pouvez répondre à des événements sur les commandes que vous voulez...
Donc, avec cette méthode, vous devez pré-écrire tout le code d'événement que vous souhaitez pour tous les contrôles que vous créez...
Notez également que vous pouvez position et la taille de vos commandes, même si le haut, à gauche, la largeur et la hauteur ne sont pas nécessairement venir dans intellisense...
Pourquoi le "1" à la fin du nom de la classe dans le add méthode? Je ne sais pas. Je sais que cela ne fonctionne pas sans. Je voudrais vraiment savoir pourquoi, il a à être "des Formes.Bouton de commande.1" de trop
Ma variation sur le thème ci-dessus. C'est juste pour un 4x4 tableau de boutons. Créer un userform et les ajouter à son code. Les mêmes concepts peuvent être utilisés avec des étiquettes (ou voir la réponse précédente):
Private cmdLots(20)As MSForms.CommandButton
PrivateSub UserForm_Initialize()For i =1To4For j =1To4
k = i +(4* j)Set cmdLots(k)= UserForm2.Controls.Add("Forms.CommandButton.1","cmd1")With cmdLots(k).Top = i *25.Left =(j *80)-50.BackColor = RGB(50* i,50* j,0).Caption ="i= "& i &" j= "& j
EndWithNext j
Next i
EndSub
Le code suivant montre comment vous pouvez remplir dynamiquement une image dans un userform avec des contrôles...
Dans la forme que j'ai utilisé, j'ai eu un contrôle frame nommé Image1, donc dans le UserForm_Initialize vous appelez Image1.Les contrôles.Ajouter à incorporer un contrôle dans le cadre. Vous pouvez définir le contrôle de ce qui revient à un WithEvents variable de contrôle que vous avez défini dans l'objet UserForm module de code de sorte que vous pouvez répondre à des événements sur les commandes que vous voulez...
Donc, avec cette méthode, vous devez pré-écrire tout le code d'événement que vous souhaitez pour tous les contrôles que vous créez...
Notez également que vous pouvez position et la taille de vos commandes, même si le haut, à gauche, la largeur et la hauteur ne sont pas nécessairement venir dans intellisense...
"1"
à la fin du nom de la classe dans leadd
méthode?Je ne sais pas. Je sais que cela ne fonctionne pas sans.
Je voudrais vraiment savoir pourquoi, il a à être "des Formes.Bouton de commande.1" de trop
OriginalL'auteur Jon Fournier
Ma variation sur le thème ci-dessus. C'est juste pour un 4x4 tableau de boutons. Créer un userform et les ajouter à son code. Les mêmes concepts peuvent être utilisés avec des étiquettes (ou voir la réponse précédente):
lire sur "WithEvents" et vous allez le voir.
Lire aussi stackoverflow.com/questions/10130300/...
OriginalL'auteur tjSTAR