Win32 ShellExecute 和 UNC 路径

Win32 ShellExecute and a UNC Path

提问人:Randy L 提问时间:9/18/2008 最后编辑:Martijn PietersRandy L 更新时间:7/4/2020 访问量:2361

问:

我想在 Powerpoint 2007 中启动一个 Flash 演示文稿。我正在调用 Win32 ShellExecute() 例程。当我从路径为 UNC 路径 (\myserver\myfolder\sample.ppt) 的位置运行它时,它不起作用。

ShellExecute 例程需要 6 个参数,其中一个参数是运行它的路径。我尝试将此参数设置为 C:\ 以及使用 ActivePresentation.Path(这是一个 UNC 路径)。两者都行不通。

VBA Flash PowerPoint

评论

1赞 Kris Kumler 9/18/2008
您能否将 ShellExecute() 函数调用显示为您现在如何使用它?

答:

0赞 Jason Cohen 9/18/2008 #1

UNC 路径以反斜杠开头。你是这样做的,还是这只是问题中的错别字?

0赞 Kevin Gale 9/18/2008 #2

我已求助于将驱动器映射到 UNC 路径。

命令行如下所示

subst A:“\\ServerName\SomeDirectory”

评论

0赞 Randy L 9/18/2008
这似乎是一个合理的解决方法。我唯一担心的是,我认为在某些系统上,用户不允许映射网络驱动器。不过,我要检查一下,似乎它应该可以工作。
0赞 Randy L 9/18/2008 #3

好吧,现在它似乎可以很好地与 UNC 路径配合使用。

2赞 Robert Mearns 9/18/2008 #4

我最初尝试了这种方法,但发现它引起了问题:

  • 从未连接到网络的笔记本电脑使用演示文稿时。
  • 如果用户无权访问 UNC.
  • 如果闪存文件被重命名、移动或删除。

我发现更好的方法是将文件嵌入到 Powerpoint 文件中。

可以使用 Office XP、Powerpoint 按如下方式完成

从“视图”菜单中选择“工具”并勾选“控制工具箱”

在“控件工具箱”工具栏上,单击“更多控件”图标

将显示控件列表。向下滚动,直到找到“Shockwave Flash Object”,然后单击它。

这应该将您的光标更改为十字准线。移动到幻灯片上要插入“冲击波闪光对象”的区域。 左键单击、按住并拖动以创建所需大小的框。

接下来,右键单击您刚刚插入的控件,然后选择“属性”。

设置以下属性

* Autoload = True
* EmbedMovie = True
* Enabled = True
* Loop = True
* Playing = True
* Visible = True
* Movie = c:\flash.swf (Change this to the location of your .swf file)

关闭“属性”控件

保存文件。

关闭文件。

重新打开文件。

当您在幻灯片放映期间到达幻灯片时,.swf 文件应自动开始播放。

我发现在 .swf 文件中包含控件(暂停/播放、时间线)很有用

评论

0赞 Randy L 2/10/2009
几年前,我尝试过这样的事情。我发现 PowerPoint 和 Flash 之间的相互作用存在一些问题。有时闪光灯就是不播放。有时它会。这是我永远无法始终如一地重现它的错误。也许它现在会起作用。