0

我正在 Flash 中创建一个动画菜单,我想将其嵌入到 PowerPoint 中,并且能够在单击 Flash 中的按钮时跳转到 PowerPoint 中的幻灯片。

在 Flash 中,与 PowerPoint 通信的代码是:

fig1.onRelease=function(){
fscommand("",2)
}

其中 fig1 是影片剪辑按钮,fscommand 将参数传递给附加到 PowerPoint 中嵌入的 SWF 的 VBscript。“2”是我希望它跳转到的幻灯片编号。

在 PowerPoint 中,我正在使用以下代码:

Private Sub ShockwaveFlash1_FSCommand(ByVa­l command, ByVal args)
With ShockwaveFlash1.SlideShowWindows(1).View
  .GotoSlide (args)
End With
End Sub

此代码基于此网站上另一个帖子的代码,该帖子是对遇到类似问题的人的回答。

从嵌入在 PowerPoint 中的 Flash 文件链接到特定幻灯片

我的问题是它对我不起作用,我收到了这个 VB 错误:

Compile error: 
Expected list separator or )

与此错误一起,“命令”一词在第一行中突出显示。

4

2 回答 2

1

错误消息表明您只是将 VBA 宏复制/粘贴到 VBScript 文件中。那是行不通的,因为两种语言之间存在显着差异。此特定错误很可能是由过程签名中的类型定义引起的。改变这个:

Private Sub ShockwaveFlash1_FSCommand(ByVa­l command As String, ByVal args As String)

进入这个:

Private Sub ShockwaveFlash1_FSCommand(ByVa­l command, ByVal args)

您可能还需要更改

SlideShowWindows(1).View

进入

ppt.SlideShowWindows(1).View

或者

ppt.ActivePresentation.SlideShowWindows(1).View

其中ppt是引用 PowerPoint 应用程序对象的变量。

于 2013-09-09T18:08:16.337 回答
0

感谢您的帮助安斯加尔。事实证明,问题的一部分是我为 Flash 对象设置了错误的名称。右键单击 SWF 并从上下文菜单中选择属性会显示 SWF 对象名称。我做了几个 VB 代码调整并保持 Actionscript 不变。

最终 Actionscript(Flash 中的按钮代码):

fig1.onRelease=function(){
fscommand("", 2)
}

最终的VB代码:

Private Sub ArticulateFlashObject_FSCommand(ByVal command As String, ByVal args As String)
With SlideShowWindows(1).View
.GotoSlide args
End With
End Sub
于 2013-09-10T14:01:51.863 回答