在MS Word中将多选响应返回到书签



我有一个word文档,用户单击一个命令按钮,该按钮会显示一个带有多选列表框(listbox1)和命令按钮(cmnd1)的用户表单。我希望用户选择多个项目,然后单击命令按钮。

这导致用户表单消失,并且所选项目以字符串形式出现在MS word文档(bkmark1a)中的书签处。

我可以通过单选轻松做到这一点。我被多选绊倒了。

这是我正在使用的代码:

`Option Explicit
Private Sub UserForm_Initialize()
Dim i, Str As String
Str = "Rating1,Rating2,Rating3,Rating4,"
For i = 0 To UBound(Split(Str, ","))
ListBox1.AddItem Split(Str, ",")(i)
Next
End Sub
Private Sub CommandButton1_Click()
Selection.Text = ListBox1.Value
Application.ScreenRefresh
End Sub

如有任何帮助,我们将不胜感激。我是VBA的新手。

标记

要在列表框上启用多选,只需将.MultiSelect属性设置为fmMultiSelectMultifmMultiSelectExtended即可。后面的允许您使用shift键来选择多个项目。即在初始化中:
ListBox1.MultiSelect = fmMultiSelectExtended

然后,当您单击命令按钮时,您需要循环浏览列表项,并检查它们是否已被选中。即:

Private Sub CommandButton1_Click()
Dim ii As Integer
For ii = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(ii) Then
Selection.Text = ListBox1.List(ii)
Selection.MoveRight
Selection.TypeParagraph
End If
Next ii
Application.ScreenRefresh
End Sub

最新更新