Просто написал подпрограмму для помещения именованных свойств в текстовые объекты с тегами на всех слайдах.
Поместить свойство файла на слайды. Создайте текстовое поле для хранения строки. В свойствах / Alt Text поместите имя свойства в квадратные скобки.
Затем выполните макрос updateProperties()
.
т.е. [title]
- позволит заголовок документа обновляться на нескольких
Два специальных тега были написаны:
[copyright]
вставил бы строку с авторским правом, т.е. © 1998-2013 P.Boothroyd, NIS Oskemen
[page]
вставит номер слайда из вкладки редактора
'Копировать свойства документа на все слайды
'(c) 2013, P.Booothroyd для NIS Oskemen
Dim processPage As Slide
Sub updateProperties ()
Dim page As Slide
Тусклое имя As String
проанализировать все слайды в активной презентации (документе)
Для каждой страницы процесса в Application.ActivePresentation.Slides
'проверить все элементы страницы на наличие текстового поля с помеченным полем "altText / title" с "["
Для каждого объекта в processPage.Shapes
If Left (obj.Title, 1) = "[" Тогда
Dim sStart, отправить как целое число
извлечь свойство из квадратных скобок
sStart = 2
sEnd = InStr (2, obj.Title, "]")
propname = Trim (Mid (obj.Title, sStart, sEnd - 2))
Если obj.Type = msoTextBox Тогда
'установить текстовое поле на запрошенное значение
obj.TextFrame.TextRange.Text = getProperty (propname, obj.TextFrame.TextRange.Text)
End If
End If
Следующий объект
Следующая страница
End Sub
'получить указанное свойство документа (с необязательным значением по умолчанию)
Функция getProperty (propname, Необязательный def As String) As String
свойство присвоило значение по умолчанию
getProperty = def
Dim найден как логическое значение
найдено = ложно
propname = LCase (propname)
авторское право является сгенерированной собственностью
Если propname = "авторское право", то
Тусклый автор As String
Дим компания As String
Тусклый год от As String
Dim yearTo As String
'получить все соответствующие переменные
author = getProperty ("author", "")
company = getProperty ("company", "")
yearFrom = getProperty ("создан", "")
yearTo = Format (Now (), "YYYY")
'вставить символ авторского права
getProperty = Chr (169) + ""
'прикрепить годовой интервал для уведомления об авторских правах
Если год
getProperty = getProperty + yearFrom + "-"
End If
getProperty = getProperty + yearTo
'добавить автора
getProperty = getProperty + "" + автор
'добавить разделитель для автора / компании, если оба существуют
Если Лен (автор)> 0 И Лен (компания)> 0 Тогда
getProperty = getProperty & ","
End If
getProperty = getProperty & company
обработано, поэтому вернуть значение
найдено = True
End If
Вставьте номер слайда в документ
Если propname = "page", то
getProperty = processPage.SlideNumber
найдено = True
End If
'если созданное имя создано, вернуть значение
Если найдено, то GoTo ret
'проверить стандартные свойства MS (файла) именованного значения
Для каждого p в Application.ActivePresentation.BuiltInDocumentProperties
Если LCase (p.Name) = имя_прописки
getProperty = p.Value
найдено = True
Выход для
End If
Следующая р
сканировать для настроенных свойств названного значения
Если найдено, то GoTo ret
Для каждого p в Application.ActivePresentation.CustomDocumentProperties
Если LCase (p.Name) = имя_прописки
getProperty = p.Value
найдено = True
Выход для
End If
Следующая р
RET:
Конечная функция