Vba 使用“可见性”属性后,组合框被禁用

Vba 使用“可见性”属性后,组合框被禁用,vba,drop-down-menu,combobox,powerpoint,Vba,Drop Down Menu,Combobox,Powerpoint,我正在开发一个带有下拉组合框的基于PowerPoint的应用程序。它起作用了。 然后,当满足某些条件时,我想隐藏组合框(PowerPoint演示文稿中的一个对象),这样用户就不会尝试使用它。我通过.Visibility=msoFalse来实现。当我想显示该框时,我使用的是.Visibility=msoTrue。 但是,当组合框出现时,下拉按钮似乎与原来的按钮不同(不是三角形。请参见附件中的屏幕截图),更重要的是,它不会对单击它作出响应 属性应该是.visibility而不是.visibility

我正在开发一个带有下拉组合框的基于PowerPoint的应用程序。它起作用了。 然后,当满足某些条件时,我想隐藏组合框(PowerPoint演示文稿中的一个对象),这样用户就不会尝试使用它。我通过
.Visibility=msoFalse
来实现。当我想显示该框时,我使用的是
.Visibility=msoTrue
。 但是,当组合框出现时,下拉按钮似乎与原来的按钮不同(不是三角形。请参见附件中的屏幕截图),更重要的是,它不会对单击它作出响应


属性应该是.visibility而不是.visibility

不过,我无法重新解释您在这里描述的问题(PPT 2016,32位)。 作为测试: 仅使用一张幻灯片创建新演示文稿。 向幻灯片中添加组合框和矩形。 将此代码添加到模块中,然后为矩形指定Run Macro:TestThis的操作设置。 然后查看进入幻灯片放映视图并单击矩形几次时发生的情况

Sub TestThis()
    Dim oSh As Shape
    Set oSh = ActivePresentation.Slides(1).Shapes("ComboBox1")
    oSh.Visible = Not oSh.Visible
    SlideShowWindows(1).View.GotoSlide (1)
    
End Sub

谢谢你,Steve,关于.Visible属性,你显然是正确的。这是我一直在尝试的,也是我遇到的问题。我将尝试你的建议并汇报我的成功。史蒂夫·林德斯伯格,这变得越来越有趣了。作为一个独立的程序,您的代码运行良好。当我将此子项添加到代码中并将其链接到虚拟按钮时,即使在运行子项后,组合框仍会在屏幕上显示(带有下拉菜单)。但是,当我退出幻灯片放映模式时,形状在幻灯片上不可见(取决于我单击按钮的次数-偶数或奇数)。@Altame什么是“虚拟按钮”?我不熟悉这个词。在任何情况下,对于某些PPT安装,简单的GoToSlide都不会强制刷新幻灯片。在这种情况下,在幻灯片中添加一个“虚拟”形状,比如一个矩形(在某些情况下甚至在屏幕外),执行GoToSlide,然后删除该矩形。用户永远不会看到这种情况发生,但它可以强制刷新。