Возникла очень неприятная проблема, и я не могу найти решение где-либо - помощь будет очень признательна!
Я знаю, как изменить ширину пользовательской формы из самой пользовательской формы ( Me.Width).
Проблема в том, что я пишу модуль, который будет динамически форматировать пользовательские формы. Модулю передается форма, и он выполняет некоторые манипуляции с ней. Пока все работает, пока я имею в виду объекты в форме.
Но теперь я пытаюсь сослаться на саму форму, и когда я пытаюсь изменить ширину (формы, а не элемента управления в форме) я получаю сообщение об ошибке: «Объект не поддерживает это свойство или метод».
Я пробовал объявить его как UserForm и как Object, и весь остальной код работает в обоих случаях, но изменение ширины - нет. Я сразу вижу, что ширина недоступна, поэтому, очевидно, код не выполняется.
Вот код, который я пробовал безуспешно:
Sub frmLoadLayoutTest()
frmLoadLayout frmTest
frmTest.Show
End Sub
Private Sub frmLoadLayout(frmActive As Object) 'Also tried (frmActive as UserForm)
'Setting the width of a control works
frmActive.Controls("labelTest").Width = 100
'Setting the width of the form itself doesn't work
frmActive.Width = 100
End Sub
Если кто-то может предложить элегантное решение, это будет fantasti c. В качестве альтернативы, могу ли я ссылаться на пользовательскую форму по имени? (Что-то вроде Userform (frm1.name) .Width = 100)
Заранее спасибо!