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

VBA Powerpoint中的Windows Media Player ActiveX控件出现问题,vba,powerpoint,activex,windows-media-player,Vba,Powerpoint,Activex,Windows Media Player,又是我和我的学校项目。这次我想通过WMP ActiveX使用文件路径将视频插入PowerPoint,所以我画了一个如下:(uiMode设置为“无”) 幻灯片放映开始时,我将所有数据从Excel文件传输到演示文稿,包括视频的路径。然后我用Slide85.WMP.uiMode=“隐形”隐藏WMP 到时候,我希望WMP以我绘制的原始大小显示,并播放链接的视频,因此我使用了以下代码: Slide85.WMP_TT.uiMode = "none" Slide85.WMP_TT.URL = "C:\ine

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

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

到时候,我希望WMP以我绘制的原始大小显示,并播放链接的视频,因此我使用了以下代码:

Slide85.WMP_TT.uiMode = "none"
Slide85.WMP_TT.URL = "C:\inetpub\wwwroot\TT2.mp4"
Slide85.WMP_TT.Controls.Play
已通过更改“属性”选项卡中的设置使视频静音

结果是这样的:

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

视频仍在播放,但只播放声音,这是不可能的,因为我禁用了控件。视频中不显示任何可视图像,控件的尺寸也会更改


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

如本Microsoft帮助页面所述,您必须在代码中设置高度和宽度参数,以便播放器在触发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

谢谢你的回答。我已经试过了,但是仍然存在这样一个问题:视频中的视觉图像无法显示,而声音仍然可以显示。然而,当我转到下一张幻灯片并返回时,视频中完全显示了图像和声音。有没有办法解决这个问题?如我的第二个建议中所述,关闭可视性可以解决不显示视频的问题。等等,这似乎没有任何意义。。。当我需要视频显示时,为什么要关闭可见性?绘制视频控件后,必须先使用oShape.Visible.msoFalse将其隐藏。然后在运行时,您将使用上面的宏显示视频。现在还有另一个问题。我使用这个``Slide85.WMP\u vidett.settings.mute=True``来静音,它可以静音整个应用程序。