我在 VBA 中创建了一个表单,在其中动态添加列表框。
如何更改列表框的宽度和高度?所有其他事情都在改变。
Dim lb As MSForms.ListBox
Set lb = Me.controls.add("Forms.Listbox.1")
With lb
.ColumnCount = 4
.Left = 180
.Top = 16
.MultiSelect = 1
.Height = 270
.Width = 665
End with
我注意到高度和宽度不在列表框的属性列表中。难道是我使用了错误的ListBox类型?
当我逐行浏览代码时,ListBox 的大小就是我想要的。
试试这个可能是
Me.Controls("Forms.Listbox.1").IntegralHeight = False 或者 lb.IntegralHeight = False
在我的 Word VBA 脚本中,我今天动态添加了一个 ListBox 项目,并遇到了相同的错误。 .Height 和 .Width 属性似乎丢失,并且在设置自定义高度或宽度时,ListBox 不会调整大小。 经过大量故障排除后,我发现如果将
MultiSelect
属性设置为 fmMultiSelectMulti
或 fmMultiSelectExtended
,则会阻止调整大小。
所以,我以防其他人遇到这个问题:
首先设置宽度和高度,然后设置
MultiSelect
属性。
不敢相信这样的事情就是问题所在......