gpt4 book ai didi

vba - 将所有 "Worksheet Objects"转换为 powerpoint 中的图像

转载 作者:行者123 更新时间:2023-12-04 17:37:44 24 4
gpt4 key购买 nike

真的不确定将它放在哪个堆栈站点上。随意将其移至正确的位置。我的问题与编程并没有真正的关系,但我有大量的幻灯片,这些“工作表对象”嵌入在幻灯片中。有些似乎是来自 excel 的图表以及来自 Visio 的其他图表类型项目。我需要将所有这些“工作表对象”转换为幻灯片中的图像。

我现在的过程是复制对象>粘贴为图像>移动到正确的位置>删除“工作表对象”。这是一个非常耗时且乏味的过程。是否有我可以编写的宏或可以自动转换所有这些对象的东西?我试过谷歌搜索,但到目前为止没有运气

最佳答案

这应该让你开始:

Sub ConvertAllShapesToPic()
Dim oSl As Slide
Dim oSh As Shape

For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
' modify the following depending on what you want to
' convert
Select Case oSh.Type
Case msoChart, msoEmbeddedOLEObject, msoLinkedOLEObject
ConvertShapeToPic oSh
Case msoPlaceholder
If oSh.PlaceholderFormat.ContainedType = msoEmbeddedOLEObject _
Or oSh.PlaceholderFormat.ContainedType = msoLinkedOLEObject _
Or oSh.PlaceholderFormat.ContainedType = msoChart _
Then
ConvertShapeToPic oSh
End If
Case Else

End Select
Next
Next

End Sub

Sub ConvertShapeToPic(ByRef oSh As Shape)
Dim oNewSh As Shape
Dim oSl As Slide

Set oSl = oSh.Parent
oSh.Copy
Set oNewSh = oSl.Shapes.PasteSpecial(ppPasteEnhancedMetafile)(1)

With oNewSh
.Left = oSh.Left
.Top = oSh.Top
Do
.ZOrder (msoSendBackward)
Loop Until .ZOrderPosition < oSh.ZOrderPosition
End With

oSh.Delete

End Sub

关于vba - 将所有 "Worksheet Objects"转换为 powerpoint 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13057432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com