Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 为什么赢了';我的宏/VB不能在PowerPoint演示文稿中运行_Vba_Powerpoint - Fatal编程技术网

Vba 为什么赢了';我的宏/VB不能在PowerPoint演示文稿中运行

Vba 为什么赢了';我的宏/VB不能在PowerPoint演示文稿中运行,vba,powerpoint,Vba,Powerpoint,我正在努力为我正在制作的PowerPoint演示文稿添加一点互动。我编写了一个小VB,它可以在脚本运行时增加特定图表对象的大小和位置。我在设计模式下测试了脚本,一切似乎都很好。但是,当我将代码链接到一个操作按钮并试图从幻灯片中运行它时,代码不会运行。我的大部分VB都是在Excel中完成的,所以我以前没有遇到过这个问题。谁能给我一个解决办法吗。我的代码如下: Sub MoveChart23() Dim s For Each s In ActiveWindow.Selection.

我正在努力为我正在制作的PowerPoint演示文稿添加一点互动。我编写了一个小VB,它可以在脚本运行时增加特定图表对象的大小和位置。我在设计模式下测试了脚本,一切似乎都很好。但是,当我将代码链接到一个操作按钮并试图从幻灯片中运行它时,代码不会运行。我的大部分VB都是在Excel中完成的,所以我以前没有遇到过这个问题。谁能给我一个解决办法吗。我的代码如下:

 Sub MoveChart23()
    Dim s
    For Each s In ActiveWindow.Selection.SlideRange.Shapes
     If s.Name = "Chart 23" Then
      s.Top = 50
      s.Width = 620
      s.Left = 50
      s.Height = 400
     End If
    Next
End Sub

谢谢你的帮助。

无论如何,我认为你的问题在于以下几点:

For Each s In ActiveWindow.Selection.SlideRange.Shapes
而在演示模式下没有选择。根据您运行和控制整个演示文稿的方式,您应该使用以下方式:

For Each s In ActiveWindow.Slides(1).Shapes
但是,如果您需要参考当前查看的幻灯片,您应该这样做:

For Each s In SlideShowWindows(1).View.Slide.Shapes

你打算用那种方式制作动画吗??