我正在寻找一种临时显示一长串项目的好方法。
假设我想在工作簿中查看可用的样式。这段代码几乎可以工作:
Sub StyleLister()
Dim sy As Style
For Each sy In ActiveWorkbook.Styles
msg = msg & vbCrLf & sy
Next
Call DisplayList(msg)
End Sub
Sub DisplayList(s As String)
MsgBox s
End Sub
我得到一个又高又瘦的 MsgBox。它不够高,无法显示列表的底部,并且没有滚动条可以到达列表的底部,但是它有一个不错的X按钮可以关闭该框。
如果我使用:
Sub DisplayList(s As String)
Dim AXTbox As Object
Set AXTbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=240, Top:=62.25, Width:=134.25, Height:= _
171)
With AXTbox
.Name = "MyBox"
.Object.Text = s
.Object.MultiLine = True
.Object.ScrollBars = 2
End With
AXTbox.Select
End Sub
我得到一个文本框。如果我单击文本框,我可以看到并使用滚动条。但它没有X按钮可以轻松解雇。
我想要两全其美 - 滚动条和解雇按钮。
有什么建议么??