我在启用宏的powerpoint演示文稿中有两个ComboBox。这些Combobox代表开始日期和结束日期。下面的代码清除了组合框,但是如果演示文稿打开时已经存在日期,则不会。所以,假设您打开功率点演示文稿,并且演示文稿之前的日期仍然在Combobox中,如果我尝试应用此代码......没有任何反应。但是,如果我在组合框中调整日期并再次应用代码,它就会起作用并且组合框被清除。奇怪!有什么想法吗?
Dim j As Long
Dim cb As Object
For j = 1 To 2
Set cb = Slide1.Shapes("ComboBox" & j).OLEFormat.Object
cb.Clear
Next j
'Clean up
Set cb = Nothing
谢谢
答案 0 :(得分:1)
这将清除幻灯片1上的ComboBox1的内容:
Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
ActivePresentation.Slides(1).Shapes("ComboBox1").OLEFormat.Object.Clear
End Sub
Wn.View.Slide.SlideIndex将为您提供当前幻灯片的索引,因此您可以将.Slides(1)替换为.Slides(Wn.View.Slide.SlideIndex)以使用您希望的任何幻灯片。
答案 1 :(得分:0)
以下内容清除组合框中的日期,无论该日期是否来自之前正在运行的演示文稿,或者当前用户是否已输入日期,现在希望清除它们。
Dim j As Long
Dim cb As Object
For j = 1 To 2
Set cb = Slide1.Shapes("ComboBox" & j).OLEFormat.Object
cb.Value = vbNullString
Next j
'Clean up
Set cb = Nothing