eXcellence-team eXcellence

Встроенные свойства документов MSOffice

Документы MSOffice имеют встроенные свойства, такие как автор документа, дата создания и т.д. Чтобы получить доступ к этим свойствам используется коллекция BuiltInDocumentProperties. Эти свойства могут быть определены у любого документа MSOffice и их можно использовать в макросах любой программы этого пакета.

Название свойства Назначение
1 Title Заголовок
2 Subject Предмет
3 Author Автор (создавший документ)
4 Keywords Ключевые слова
5 Comments Комментарии
6 Template Шаблон документа
7 Last Author Тот, кто последний сохранил документ
8 Revision Number Число входов для редактирования
9 Application Name Название приложения, обрабатывающего документ
10 Last Print Date Дата и время последней печати
11 Creation Date Дата создания
12 Last Save Time Дата и время последнего сохранения
13 Total Editing Time Общая продолжительность редактирования (минуты)
14 Number of Pages Число страниц
15 Number of Words Число слов
16 Number of Characters Число символов
17 Security Секретность
18 Category Категория
19 Format Формат
20 Manager Менеджер
21 Company Компания
22 Number of Bytes Размер файла в байтах в момент последнего сохранения
23 Number of Lines Число строк
24 Number of Paragraphs Число абзацев
25 Number of Slides Число слайдов (определено в PowerPoint, в остальных, вероятно, не используется)
26 Number of Notes Число заметок к слайдам (определено в PowerPoint, в остальных, вероятно, не используется)
27 Number of Hidden Slides Число скрытых слайдов (определено в PowerPoint, в остальных, вероятно, не используется)
28 Number of Multimedia Clips Число клипов (определено в PowerPoint, в остальных, вероятно, не используется)
29 Hyperlink Base База гиперссылок
30 Number of Characters (with spaces) Общеечисло символов, включая пробелы

Важно знать, что при попытке обратиться к свойству, которое для данного документа не определено, возникает ошибка выполнения. Вот пример работы со свойствами документа:

Sub test()
  On Error GoTo NotDefined
  ' В макросе для Excel ActiveDocument следует заменить на ActiveWorkbook
  For Each prop In ActiveDocument.BuiltInDocumentProperties
   With prop
    PName = .Name
    PValue = .Value
    PType = .Type
    s = s + PName & " = " & PValue & " [" & PType & "]"
   End With
  Next
  MsgBox(s)
  Exit Sub
  ' Обработчик ошибок
NotDefined:
  PValue = "Value not defined"
  Resume Next
End Sub

Здесь PType будет принимать числовые значения, каждое из которых соответствует определенному типу данных.

Предопределенные константы типов

1 msoPropertyTypeNumber
2 msoPropertyTypeBoolean
3 msoPropertyTypeDate
4 msoPropertyTypeString
5 msoPropertyTypeFloat