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")
Другие вопросы по тегам