Vba Powerpoint宏无法用于幻灯片放映
有人能帮我解决这个问题吗。我找到了一个脚本,可以从PowerPoint的第一页中拍摄快照。当我在普通视图下运行宏时,它会工作。但当我使用动作按钮(将其超链接到已创建的宏)并在幻灯片中单击它时,没有动作。 我希望每次单击幻灯片放映上的“操作”按钮时,它都能从演示文稿视图中拍摄快照。。但什么都没有 这是脚本(我没有任何编程知识)Vba Powerpoint宏无法用于幻灯片放映,vba,powerpoint,Vba,Powerpoint,有人能帮我解决这个问题吗。我找到了一个脚本,可以从PowerPoint的第一页中拍摄快照。当我在普通视图下运行宏时,它会工作。但当我使用动作按钮(将其超链接到已创建的宏)并在幻灯片中单击它时,没有动作。 我希望每次单击幻灯片放映上的“操作”按钮时,它都能从演示文稿视图中拍摄快照。。但什么都没有 这是脚本(我没有任何编程知识) Sub-SaveCurrentSlideAsJpg() 将imagePath设置为字符串 Dim slideNum作为整数 imagePath=“C:\JPG\” Slid
Sub-SaveCurrentSlideAsJpg()
将imagePath设置为字符串
Dim slideNum作为整数
imagePath=“C:\JPG\”
SlideEnum=ActiveWindow.Selection.SlideRange(1).SlideIndex
If Dir(imagePath&ActivePresentation.Name&“&slideNum&“.jpg”)“”
然后
Kill imagePath&ActivePresentation.Name&“_”&slideNum&“.jpg”
如果结束
ActivePresentation.Slides(slideNum).Export_
文件名:=imagePath&ActivePresentation.Name&“”&slideNum&“.jpg”_
过滤器名称:=“JPG”
端接头
如果您在幻灯片放映过程中引用了幻灯片索引
,您可以这样做:
slideNum=ActivePresentation.SlideShowWindow.View.Slide.SlideIndex
以下是完整的代码,稍作修改:
Sub SaveCurrentSlideAsJpg()
Dim imagePath As String
Dim slideNum As Integer
Dim fullJpgName As String
imagePath = "C:\JPG\"
slideNum = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex
fullJpgName = imagePath & ActivePresentation.Name & "_" & slideNum & ".jpg"
If Dir(fullJpgName) <> "" Then
Kill fullJpgName
End If
ActivePresentation.Slides(slideNum).Export _
FileName:=fullJpgName, FilterName:="JPG"
End Sub
Sub-SaveCurrentSlideAsJpg()
将imagePath设置为字符串
Dim slideNum作为整数
将fullJpgName设置为字符串
imagePath=“C:\JPG\”
SlideEnum=ActivePresentation.SlideShowWindow.View.Slide.SlideIndex
fullJpgName=imagePath&ActivePresentation.Name&“\u”&slideNum&“.jpg”
如果Dir(fullJpgName)“,则
杀了我
如果结束
ActivePresentation.Slides(slideNum).Export_
文件名:=fullJpgName,过滤器名:=“JPG”
端接头
谢谢您的重播,,,,请多帮我一点忙。。。我在topI上详细描述了我的问题,正如您所描述的,我使用操作按钮测试了这个问题,并且能够在演示模式下导出JPG。如果这对您不起作用,我将添加Debug.Print slideNum
和Debug.Print fullJpgName
,以确保它们完全符合您的期望。感谢您的重播,但仍然存在一个问题。在幻灯片放映中,当我单击指向此宏的超链接的操作按钮时,它会从普通视图中拍摄一张照片并将其保存到“c:\JPG”。。。我想从幻灯片演示中拍照。例如,在幻灯片放映中,当我在一个矩形上单击时,它的颜色将发生变化,我在powerpoint中使用动画进行设置。所以在那之后,当我点击“动作”按钮时,我希望用新的颜色从更改过的页面中拍摄一张照片。。。但是,如果将最后一行更改为ActivePresentation.SlideShowWindow.View.Slide.Export FileName:=fullJpgName,FilterName:=“JPG”
,它会从普通视图中再次拍照,您会得到想要的结果吗?通过此更改,它会再次从普通视图中拍照。也许我必须找到一个宏来像PrtScr(键盘上的键)那样拍照,然后将它保存在目标文件夹的文件中。
Sub SaveCurrentSlideAsJpg()
Dim imagePath As String
Dim slideNum As Integer
Dim fullJpgName As String
imagePath = "C:\JPG\"
slideNum = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex
fullJpgName = imagePath & ActivePresentation.Name & "_" & slideNum & ".jpg"
If Dir(fullJpgName) <> "" Then
Kill fullJpgName
End If
ActivePresentation.Slides(slideNum).Export _
FileName:=fullJpgName, FilterName:="JPG"
End Sub