Właśnie napisałem podprogram, aby umieścić nazwane właściwości w oznaczonych obiektach tekstowych na wszystkich slajdach.
Aby umieścić właściwość pliku na slajdach. Utwórz pole tekstowe do przechowywania ciągu. W właściwości / Tekst alternatywny umieść nazwę właściwości w nawiasach kwadratowych.
Następnie uruchom makro updateProperties()
.
tzn. [title]
- pozwoliłoby na aktualizację tytułu dokumentu na wielu
Napisano dwa specjalne tagi:
[copyright]
wstawiłby ciąg praw autorskich, tj. © 1998-2013 P.Boothroyd, NIS Oskemen
[page]
wstawiłby numer slajdu z zakładki edytora
„Skopiuj właściwości dokumentu na wszystkie slajdy
„(c) 2013, P.Boothroyd dla NIS Oskemen
Przyciemnij stronę jako slajd
Sub updateProperties ()
Przyciemnij stronę jako slajd
Dim propname As String
„parsuj wszystkie slajdy w aktywnej prezentacji (dokument)
Dla każdego procesuPage w Application.ActivePresentation.Slides
'skanuj wszystkie elementy strony w poszukiwaniu pola tekstowego z oznaczonym polem „altText / title” za pomocą „[”
Dla każdego obiektu In processPage.Shapes
If Left (obj.Title, 1) = "[" To
Dim sStart, sEnd As Integer
„wyodrębnij właściwość z nawiasów kwadratowych
sStart = 2
sEnd = InStr (2, obj.Title, "]")
propname = Trim (Mid (obj.Title, sStart, sEnd - 2))
Jeśli obj.Type = msoTextBox Wtedy
'ustawić pole tekstowe na żądaną wartość
obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text)
End If
End If
Dalej 'obj
Następna strona
Napis końcowy
'pobierz właściwość nazwanego dokumentu (z opcjonalnym domyślnym)
Funkcja getProperty (nazwa propozycji, opcjonalnie def As String) As String
„właściwość ma przypisaną wartość domyślną
getProperty = def
Dim znaleziono jako Boolean
znaleziono = Fałsz
propname = LCase (nazwa propozycji)
„prawo autorskie jest własnością generowaną
Jeśli propname = „copyright”, to
Dim autor As String
Dim company As String
Dim yearFrom As String
Dim yearTo As String
„uzyskaj wszystkie odpowiednie zmienne
autor = getProperty („autor”, „”)
firma = getProperty („firma”, „”)
yearFrom = getProperty („utworzono”, „”)
yearTo = Format (Now (), „RRRR”)
„wstaw symbol praw autorskich
getProperty = Chr (169) + „”
„dołącz okres, aby uzyskać informację o prawach autorskich
Jeśli rok Od roku Do To
getProperty = getProperty + yearFrom + „-”
End If
getProperty = getProperty + yearTo
„dodaj autora
getProperty = getProperty + "" + autor
'dodaj separator dla autora / firmy, jeśli oba istnieją
Jeśli Len (autor)> 0 I Len (firma)> 0 To
getProperty = getProperty & ","
End If
getProperty = getProperty i firma
'przetworzone, więc zwróć wartość
znaleziono = Prawda
End If
„wstaw numer slajdu do dokumentu
Jeśli propname = "strona", to
getProperty = processPage.SlideNumber
znaleziono = Prawda
End If
„jeśli utworzona nazwa wygenerowana zwraca wartość
Jeśli znaleziono, to GoTo ret
„skanuj w poszukiwaniu standardowych właściwości MS (pliku) o podanej wartości
Dla każdego pw Application.ActivePresentation.BuiltInDocumentProperties
Jeśli LCase (p.Name) = nazwa propozycji to
getProperty = p.Value
znaleziono = Prawda
Wyjdź dla
End If
Dalej „p
„wyszukaj niestandardowe właściwości o podanej wartości
Jeśli znaleziono, to GoTo ret
Dla każdego pw Application.ActivePresentation.CustomDocumentProperties
Jeśli LCase (p.Name) = nazwa propozycji to
getProperty = p.Value
znaleziono = Prawda
Wyjdź dla
End If
Dalej „p
gnić:
Funkcja zakończenia