Форум » Программирование в Autodesk Inventor|VBA, iPart, iFeature » Динамическое создание формы на VBA » Ответить

Динамическое создание формы на VBA

Ab: Наткнулся на интересную возможность динамического создания формы (UserForm) на VBA. Мне понравилось и пригодилось. Пример создает простую форму с одной кнопкой и обработчиком действия этой кнопки. Тестировалось на AIP 11 SP3. Sub MakeForm() Dim NewForm As Object Dim NewCommandButton1 As Msforms.CommandButton Set NewForm = ThisApplication.VBAProjects.Item(1).VBProject.VBComponents.Add(3) With NewForm .Properties("Height") = 100 .Properties("Width") = 200 On Error Resume Next .Name = "NewForm" .Properties("Caption") = "Here is your user form" End With Set NewCommandButton1 = NewForm.Designer.Controls.Add("forms.CommandButton.1") With NewCommandButton1 .Caption = "Close" .height = 18 .Width = 44 .Left = 147 .Top = 6 End With Dim X As Integer With NewForm.CodeModule X = .CountOfLines .InsertLines X + 1, "Sub CommandButton1_Click()" .InsertLines X + 2, " Unload Me" .InsertLines X + 3, "End Sub" End With VBA.UserForms.Add(NewForm.Name).Show 'Remove form and class module ThisApplication.VBAProjects.Item(1).VBProject.VBComponents.Remove VBComponent:=NewForm End Sub

Ответов - 0



полная версия страницы