链接到PowerPoint中嵌入的Flash文件中的幻灯片

时间:2013-09-09 17:27:13

标签: flash vbscript

我正在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

此代码基于本网站上其他帖子的代码,这是对有类似问题的人的回答。

Link to a specific slide from Flash file embeded in PowerPoint

我的问题是它不适合我,我收到了这个VB错误:

Compile error: 
Expected list separator or )

除此错误外,第一行中突出显示“命令”一词。

2 个答案:

答案 0 :(得分:1)

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

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应用程序对象的变量。

答案 1 :(得分:0)

感谢您的帮助Ansgar。事实证明,问题的一部分是我有一个错误的Flash对象名称。右键单击SWF并从上下文菜单中选择“属性”,显示SWF对象名称。我做了几个VB代码调整,并保持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