C# C/Powerpoint加载项文件选择和“存储”

C# C/Powerpoint加载项文件选择和“存储”,c#,vsto,add-in,powerpoint,C#,Vsto,Add In,Powerpoint,对于我正在创建的外接程序的一部分,我想添加一个视频文件。我不一定要在powerpoint中显示视频,但我需要将此文件放在某个地方供以后参考 那么a我可以将文件存储在powerpoint文件中吗?b如果我有一个相对定位的文件,那么我可以轻松访问该文件吗 我将从“文件打开”对话框中获取文件名 如果要嵌入,可以使用以下代码添加包含视频的新形状并将其隐藏 Dim shape As shape Set shape = Slide.Shapes.AddMediaObject(videofile, 0, 0,

对于我正在创建的外接程序的一部分,我想添加一个视频文件。我不一定要在powerpoint中显示视频,但我需要将此文件放在某个地方供以后参考

那么a我可以将文件存储在powerpoint文件中吗?b如果我有一个相对定位的文件,那么我可以轻松访问该文件吗


我将从“文件打开”对话框中获取文件名

如果要嵌入,可以使用以下代码添加包含视频的新形状并将其隐藏

Dim shape As shape
Set shape = Slide.Shapes.AddMediaObject(videofile, 0, 0, -1, -1)
shape.Visible = msoFalse
但是,稍后检索视频文件可能会很棘手。见和

或者,您可以读取视频数据并将其存储在幻灯片或形状标签中,这可能是一种过度使用,具体取决于您试图实现的目标


当然,您可以将视频文件复制到与PPT文件相同的目录中,但如果您移动PPT文件或通过邮件等方式发送它,它将丢失。

如Paul B.所述嵌入视频将是最简单的,也可能是最好的,但只能在PowerPoint 2010中使用。早期版本无法嵌入视频。带有SP2的Powerpoint2007可以播放2010年的嵌入式视频,但早期版本甚至不能。链接。。。如果您将视频文件与保存的PPT放在同一目录中,并仅链接到文件名,而不是路径,则当您将文件移到其他位置时,只要视频和PPT保持在同一目录中,链接通常不会全部断开。这意味着,AddMediaObject仅链接视频文件。您将需要使用Shapes.AddMediaObject2videofile、msoFalse、msoTrue、0、0、-1、-1,正如Steve所指出的,这仅在PPT 2010中可用。