Existe uma maneira de ver todas as formas usadas em uma apresentação em power point?

1

Estou trabalhando em uma apresentação com cerca de 150 tabelas e gráficos combinados para acompanhar. O painel de seleção e visibilidade (Ferramentas de imagem > Organizar > Painel de seleção) permite nomear e exibir uma lista de todas as formas em um slide, mas existe a opção de subir um nível e exibir uma lista de todas as formas usadas a apresentação inteira?

    
por SuziLmrdo 14.09.2018 / 22:21

2 respostas

0

Não, o PowerPoint não tem nenhum recurso que permita fazer isso.

O que exatamente você está tentando realizar? Talvez haja outro jeito.

    
por 21.09.2018 / 16:50
0

Eu queria fornecer uma resposta parcial à minha própria pergunta, acima, com base no VBA encontrado no seguinte tópico sobre estouro de pilha: VBA para listar todos os nomes de objetos de uma apresentação powerpoint

Esta solução tecnicamente permite que uma pessoa visualize todas as formas usadas em uma apresentação do Power Point por meio de um relatório de arquivo de texto.

Sub ListAllShapes()

    Dim curSlide As Slide
    Dim curShape As Shape
    Dim lFile As Long
    Dim sPath As String

    sPath = ActivePresentation.Path

    lFile = FreeFile

    Open sPath & "\All Shapes.txt" For Append As #lFile

    For Each curSlide In ActivePresentation.Slides
        Print #lFile, "SLIDE " & curSlide.SlideNumber
        For Each curShape In curSlide.Shapes
                Print #lFile, "    " & curShape.Name
        Next curShape
    Next curSlide

    Close #lFile

End Sub

Isso gera um relatório de texto com a seguinte aparência:

SLIDE 1
    Rectangle 2
    Rectangle 4
    Rectangle 4
    TextBox 10
    Rectangle 4
SLIDE 2
    TextBox 7
    Rectangle 2
    Rectangle 4
    Rectangle 4
    Line 37
    Picture 1
    Picture 2
SLIDE 3
    Rectangle 2
    Rectangle 4
    Rectangle 7
    TextBox 7
    Line 28
    Picture 3
    Picture 4, etc...

Para meu caso de uso específico, eu queria uma lista de apenas determinadas formas por slide, que consegui primeiro usando o painel de seleção para nomear cada figura contendo uma figura ou tabela com um prefixo apropriado e, em seguida, executando isso:

Sub ListFiguresAndTables()

    Dim curSlide As Slide
    Dim curShape As Shape
    Dim lFile As Long
    Dim sPath As String

    sPath = ActivePresentation.Path

    lFile = FreeFile

    Open sPath & "\Figures and Tables.txt" For Append As #lFile

    For Each curSlide In ActivePresentation.Slides
        Print #lFile, "SLIDE " & curSlide.SlideNumber
        For Each curShape In curSlide.Shapes
            If Left(curShape.Name, 4) = "Fig." Or Left(curShape.Name, 5) = "Table" Then
                Print #lFile, "    " & curShape.Name
            End If
        Next curShape
    Next curSlide

    Close #lFile

End Sub
Infelizmente, a única maneira de conseguir que a macro imprima esses objetos em ordem crescente é se eu usar o painel de seleção para organizar manualmente as formas na ordem oposta (decrescente) primeiro.

SLIDE 1
    Fig. 1
    Fig. 2
    Fig. 3
    Table 1
SLIDE 2
    Fig. 4
    Fig. 5
    Fig. 6  
SLIDE 3
    Table 2
    Table 3 (etc.)
    
por 24.09.2018 / 18:10