我正在寻找一个vba脚本,它会将我剪贴板的当前内容粘贴到一个可指定的位置(让我们说在当前选中的幻灯片外面的右上角)。 我希望脚本将其粘贴为.emf。但是,如果有人可以向我解释如何操作脚本来选择位置,另一个粘贴结束会很棒。
编辑:我最终想要实现的是获取插入的剪贴板内容并使其左下对齐到已在Powerpoint中选择的形状,然后删除已存在的形状。因此,对于用户来说,过程将是: 1.复制,例如从excel到剪贴板的图表 2.在powerpoint幻灯片上选择一个形状 3.运行脚本 4.粘贴内容,左对齐和底部对齐,然后删除旧的形状
如果有人知道如何做到这一点很棒。
答案 0 :(得分:1)
您之前问题的答案的修改版本。您无法控制粘贴某些内容的位置,但您可以在粘贴时获取对该形状的引用,并使用该形状将其移动到您想要的位置:
Dim oBackShape As Shape
Dim oFrontShape As Shape
Dim oSlide As Slide
' Now we'll assume that only one shape is selected:
Set oBackShape = ActiveWindow.Selection.ShapeRange(1)
' Get a reference to the slide that the shape is on
Set oSlide = oBackShape.Parent
' Paste the contents of the clipboard as EMF and
' get a reference to the new shape
Set oFrontShape = oSlide.Shapes.PasteSpecial(ppPasteEnhancedMetafile)(1)
With oFrontShape
' Left align them
.Left = oBackShape.Left
' Bottom align them
.Top = oBackShape.Top - (.Height - oBackShape.Height)
End With
oBackShape.Delete