【问题标题】:ComboBox is disabled after using visibility property使用可见性属性后,组合框被禁用
【发布时间】:2021-01-22 05:41:50
【问题描述】:

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

【问题讨论】:

    标签: vba drop-down-menu combobox powerpoint


    【解决方案1】:

    属性应该是 .Visible 而不是 .Visibilty

    不过,我无法重现您在此处描述的问题(PPT 2016,32 位)。 作为测试: 仅使用一张幻灯片创建新演示文稿。 向幻灯片添加一个组合框和一个矩形。 将此代码添加到模块,然后为矩形分配运行宏的操作设置: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
    

    【讨论】:

    • 谢谢史蒂夫,关于 .Visible 属性,您显然是正确的。这就是我一直在尝试的,这就是我遇到的问题。我将尝试您的建议并报告我的成功。
    • 好吧,Steve Rindsberg,这变得更有趣了。作为一个独立的程序,您的代码可以正常工作。当我将此 Sub 添加到我的代码并将其链接到虚拟按钮时,即使在运行 Sub 之后,ComboBox 仍会继续显示在屏幕上(使用下拉菜单)。但是,当我退出幻灯片放映模式时,幻灯片上看不到形状(取决于我单击按钮的次数 - 偶数或奇数)。
    • @Altame 什么是“虚拟按钮”?我不熟悉这个词。在任何情况下,通过一些 PPT 安装,简单的 GoToSlide 不会强制幻灯片刷新。在这种情况下,向幻灯片添加一个“虚拟”形状,比如一个矩形(在某些情况下甚至在屏幕外),执行 GoToSlide,然后删除该矩形。用户永远不会看到任何这种情况发生,但它可以强制刷新。
    猜你喜欢
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2015-02-10
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多