真的不确定要放置它的堆栈站点。随意将其移动到正确的。我的问题与编程无关,但我在幻灯片中嵌入了这些“工作表对象”,有很多功能点。有些似乎是excel中的图形以及Visio中的其他图表类型项目。我需要将所有这些“工作表对象”转换为幻灯片中的图像。
我现在的流程是复制对象>粘贴为图像>移动到正确的位置>删除“工作表对象”。这是一个非常耗时且乏味的过程。有没有我可以编写的宏或可以自动转换所有这些对象的东西?到目前为止,我尝试使用谷歌搜索而没有运气
答案 0 :(得分:8)
这应该让你开始:
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
答案 1 :(得分:1)
其他快速替代方案如果你不想写宏就是剪切对象(Ctrl + x)然后粘贴它(Ctrl + v)作为img(我们可以使用paste special来选择图像格式或者当我们做一个粘贴(Ctrl + v)MS power point会提示选项粘贴然后在其中选择图像)。这样我们就不必将图像保存到驱动器上的某个位置,然后将其插回到幻灯片中。在同一张幻灯片上剪切和粘贴将起作用。