VBA Powerpoint 中 Windows Media Player ActiveX 控件的问题

Problem with Windows Media Player ActiveX control in VBA Powerpoint

又是我和我的学校项目。这次我想通过WMP ActiveX使用文件路径插入一个视频到PowerPoint中,所以我画了一个如下:(uiMode设置为"none"

当幻灯片放映开始时,我将所有数据从 Excel 文件传输到演示文稿,包括视频的路径。然后我用 Slide85.WMP.uiMode = "invisible".

隐藏 WMP

当时机成熟时,我希望 WMP 以我绘制的原始尺寸显示并播放链接的视频,所以我使用了这些代码:

Slide85.WMP_TT.uiMode = "none"
Slide85.WMP_TT.URL = "C:\inetpub\wwwroot\TT2.mp4"
Slide85.WMP_TT.Controls.Play

已通过更改“属性”选项卡中的设置将视频静音。

然后结果是这样的:

视频仍在播放,但只有声音,这是不可能的,因为我将控件静音了。视频中没有显示任何视觉图像,并且控件的尺寸也发生了变化。

到目前为止我想不出这个问题的任何原因。请帮助我,我将不胜感激。

如微软帮助页面所述,您必须在代码中设置高度和宽度参数,以便播放器在触发 uiMode="invisible" 时保留 space:Player.uiMode

作为替代方案,您可以像您所做的那样绘制尺寸,然后使用 VBA 在幻灯片上隐藏或显示它,代码如下:

Sub HideWMP()
    Dim oSlide As Slide
    Dim oShape As Shape
    For Each oSlide In ActivePresentation.Slides
        For Each oShape In oSlide.Shapes
            If oShape.Type = msoOLEControlObject Then
                oShape.Visible = msoTrue
            End If
        Next oShape
    Next oSlide
End Sub