更改选择类型时保持选择对象

时间:2013-07-08 16:36:31

标签: vba selection powerpoint-vba

我有一个允许人们使用fmMultiSelectMultifmMultiSelectExtended选择ListBox项目的宏。可以使用单选按钮随时切换这两个选项。但是,如果有人选择了一个组然后更改了选择,则清除选择。是否可以通过变化过程保持选择?

Private Sub OptionButton3_Click()
   ListBox1.MultiSelect=fmMultiSelectMulti
End Sub

Private Sub OptionButton4_Click()
   ListBox1.MultiSelect=fmMultiSelectExtended
End Sub

1 个答案:

答案 0 :(得分:1)

一种更多的PPT做事方式:

Dim oRng As ShapeRange
Dim x As Long

Set oRng = ActiveWindow.Selection.ShapeRange

' Select something else as a test:
ActivePresentation.Slides(1).Shapes(1).Select

' Now restore original selection
oRng.Select

' Then at this point you could clear your list box and
For x = 1 To oRng.Count
    ' add the shape's name to the list box
    Debug.Print oRng(x).Name
Next

这样可以自动恢复以前的形状选择。另一方面,Tim的做法通常更有用(即,你可以为任何列表框情况重复使用相同的代码)。