Powerpoint: como inserir a propriedade do documento (também conhecido como 'campo') no slide?

25

Como posso inserir uma propriedade do documento (por exemplo, o nome do autor) em um slide no PowerPoint 2007? Eu sei que isso pode ser feito no Microsoft Word, mas não consigo encontrar como fazê-lo no PowerPoint.

(A idéia é que, com uma propriedade de documento, é fácil mudar, por exemplo, o conteúdo do rodapé em todos os slides, mesmo que você use páginas mestras diferentes. Se houver uma solução diferente, isso também será bom. )

    
por Rabarberski 17.05.2010 / 10:45

4 respostas

17

Enquanto o Word pode fazer isso, o PowerPoint não pode. AFAIK, você pode ter propriedades de documento no PPT, mas não pode inseri-las em um slide. O único campo de atualização disponível para o PowerPoint é a data e o número do slide. De qualquer forma, pode haver alguma solução alternativa no VBA para conseguir isso. Você pode pedir isso no Stackoverflow para ter sua chance.

    
por 17.05.2010 / 10:53
5

Acabei de escrever uma sub-rotina para colocar as propriedades nomeadas em objetos de texto marcados em todos os slides.

Para colocar uma propriedade de arquivo no (s) slide (s). Crie uma caixa de texto para armazenar a string. Nas propriedades / Alt Text, coloque o nome da propriedade entre colchetes.

Em seguida, execute a macro updateProperties() .

i.e. [title] - permitiria que o título do documento fosse atualizado em vários

Duas tags especiais foram escritas:

  • [copyright] inseria uma cadeia de direitos autorais, ou seja, © 1998-2013 P.Boothroyd, NIS Oskemen
  • [page] iria inserir o número do slide na aba do editor
  • ' Copy document properties into all slides
    ' (c) 2013, P.Boothroyd for NIS Oskemen
    Dim processPage As Slide
    
    Sub updateProperties()
        Dim page As Slide
        Dim propname As String
        ' parse all slides in the active presentation (document)
        For Each processPage In Application.ActivePresentation.Slides
            ' scan all elements of page for textbox with tagged "altText/title" field with "["
            For Each obj In processPage.Shapes
                If Left(obj.Title, 1) = "[" Then
                    Dim sStart, sEnd As Integer
                    ' extract property from between square brackets
                    sStart = 2
                    sEnd = InStr(2, obj.Title, "]")
                    propname = Trim(Mid(obj.Title, sStart, sEnd - 2))
                    If obj.Type = msoTextBox Then
                        ' set the text box to the requested value
                        obj.TextFrame.TextRange.Text = getProperty(propname, obj.TextFrame.TextRange.Text)
                    End If
                End If
            Next ' obj
        Next ' page
    End Sub
    
    ' get the named document property (with optional default)
    Function getProperty(propname, Optional def As String) As String
        ' property assigned the default value
        getProperty = def
        Dim found As Boolean
        found = False
        propname = LCase(propname)
    
        ' copyright is a generated property
        If propname = "copyright" Then
            Dim author As String
            Dim company As String
            Dim yearFrom As String
            Dim yearTo As String
    
            ' get all appropriate variables
            author = getProperty("author", "")
            company = getProperty("company", "")
            yearFrom = getProperty("created", "")
            yearTo = Format(Now(), "YYYY")
    
            ' insert copyright symbol
            getProperty = Chr(169) + " "
    
            ' attach year span for copyright notice
            If yearFrom  yearTo Then
                getProperty = getProperty + yearFrom + "-"
            End If
            getProperty = getProperty + yearTo
    
            ' add the author
            getProperty = getProperty + " " + author
    
            ' add separator for author/company if both exist
            If Len(author) > 0 And Len(company) > 0 Then
                getProperty = getProperty & ", "
            End If
            getProperty = getProperty & company
    
            ' processed, so return the value
            found = True
        End If
    
        ' insert the slide number into the document
        If propname = "page" Then
            getProperty = processPage.SlideNumber
            found = True
        End If
    
        ' if generated name created return the value
        If found Then GoTo ret
    
        ' scan for standard MS (file) properties of the named value
        For Each p In Application.ActivePresentation.BuiltInDocumentProperties
            If LCase(p.Name) = propname Then
                getProperty = p.Value
                found = True
                Exit For
            End If
        Next ' p
    
        ' scan for customised properties of the named value
        If found Then GoTo ret
        For Each p In Application.ActivePresentation.CustomDocumentProperties
            If LCase(p.Name) = propname Then
                getProperty = p.Value
                found = True
                Exit For
            End If
        Next ' p
    ret:
    End Function
    
        
    por 28.08.2013 / 11:34
    1

    Uma solução alternativa é usar propriedades personalizadas nas quais você pode facilmente "Ir para" (não é necessário percorrer os slides).

    De link :

    1. Select shape or text that you want to set a bookmark to.
    2. Select File | Properties... and activate the Custom tab.
    3. Type a name for the bookmark.
    4. Tick 'Link to content'. The value that is listed in the adjacent dropdown box when you tick 'Link to content' is a reference to your selection.
    5. Click Add.
    6. Click OK to close the Properties dialog.

    Now that you have created a bookmark, you can jump to it as follows:
    1. Select Edit | Goto Property...
    2. Click the Property name from the dialog (this is the name you gave to the bookmark).
    3. Click on Go to.

    A caixa de diálogo "Ir para" apresenta uma lista de marcadores nos quais você pode clicar duas vezes e acessa suas caixas de texto favoritas, prontas para serem editadas / coladas.

        
    por 29.11.2011 / 04:30
    1

    A maneira mais fácil de fazer isso no Powerpoint (pelo menos para valores que aparecerão em todos os slides) é editar o slide mestre. Coloque o nome do autor lá.

    (Uma possível razão que o Word permite, e nenhum dos outros faz, é que as várias equipes da Microsoft raramente conversam entre si ...)

        
    por 12.06.2012 / 11:59