我正在Flash中创建一个动画菜单,我想将其嵌入到PowerPoint中,并且能够在单击Flash中的按钮时跳转到PowerPoint中的幻灯片。
在Flash中,与PowerPoint通信的代码是:
fig1.onRelease=function(){
fscommand("",2)
}
其中图 1 是影片剪辑按钮,fscommand 将参数传递给附加到 PowerPoint 中嵌入的 SWF 的 VBscript。"2"是我希望它跳转到的幻灯片编号。
在PowerPoint中,我使用以下代码:
Private Sub ShockwaveFlash1_FSCommand(ByVal command, ByVal args)
With ShockwaveFlash1.SlideShowWindows(1).View
.GotoSlide (args)
End With
End Sub
此代码基于本网站上另一篇帖子中的代码,该帖子是对有类似问题的人的回答。
链接到嵌入在PowerPoint中的Flash文件中的特定幻灯片
我的问题是它对我不起作用,我收到此VB错误:
Compile error:
Expected list separator or )
除了此错误外,第一行中还会突出显示"命令"一词。
错误消息表明您只是将 VBA 宏复制/粘贴到 VBScript 文件中。这是行不通的,因为两种语言之间存在显着差异。此特定错误很可能是由过程签名中的类型定义引起的。更改此设置:
Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)
进入这个:
Private Sub ShockwaveFlash1_FSCommand(ByVal command, ByVal args)
您可能还需要更改
SlideShowWindows(1).View
到
ppt.SlideShowWindows(1).View
或
ppt.ActivePresentation.SlideShowWindows(1).View
其中ppt
是引用 PowerPoint 应用程序对象的变量。
谢谢你的帮助,安斯加尔。 事实证明,部分问题在于我对Flash对象使用了错误的名称。 右键单击 SWF 并从上下文菜单中选择"属性"将显示 SWF 对象名称。我做了一些VB代码调整,并保持Actionscript不变。
Final 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