Vba Powerpoint назовите стол
Я просто вставил таблицу из Excel в PowerPoint с этим кодом:
pptApp.CommandBars.ExecuteMso ("PasteAsTableSourceFormatting")
На этом слайде есть другие фигуры. Как я могу заставить PowerPoint найти вставленную таблицу на слайде и назвать ее?
2 ответа
Всякий раз, когда вы вставляете что-то в PowerPoint, оно появляется на верхнем слое, так что вы можете получить ссылку на него и при желании установить имя с помощью этой функции:
Option Explicit
' ***********************************************************
' Purpose: Get the topmost shape from the current slide.
' Inputs: sName - optionally rename the shape
' Outputs: Returns a shape object if the slide is not empty.
' Author: Jamie Garroch
' Company: YOUpresent Ltd. http://youpresent.co.uk/
' ***********************************************************
Function GetPastedShape(Optional sName As String) As Shape
Dim lCurSlide As Long ' current slide index
lCurSlide = ActiveWindow.View.Slide.SlideIndex
With ActivePresentation.Slides(lCurSlide)
If .Shapes.Count = 0 Then Exit Function
' Set a reference to the shape on the top layer
Set GetPastedShape = .Shapes(.Shapes.Count)
If sName <> "" Then .Shapes(.Shapes.Count).Name = sName
' Pasted objects should already be selected so next line is optional
GetPastedShape.Select
End With
End Function
Может быть, что-то вроде этого:
Dim MyTableRef As Table
Set MyTableRef = pptApp.CommandBars.ExecuteMso("PasteAsTableSourceFormatting")