Встроенные свойства документов 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 |
