1

Тема: Получение данных из CustomDocumentProperties

Есть ли возможность получить данные CustomDocumentProperties из файла Word не открывая его?

С уважением

2

Re: Получение данных из CustomDocumentProperties

Ответ найден. Спасибо

3

Re: Получение данных из CustomDocumentProperties

mikkelle, если вы самостоятельно нашли решение, то пожалуйста, сообщите и другим о нем в подробностях. Это будет интересно и полезно, ведь ради этого и создавался и развивается сайт и форум.
Спасибо.

4

Re: Получение данных из CustomDocumentProperties

Ошибка

Отредактировано mikkelle (29.12.2010 18:07:03)

5

Re: Получение данных из CustomDocumentProperties

Поддерживаю:"если вы самостоятельно нашли решение, то пожалуйста, сообщите и другим о нем в подробностях. Это будет интересно и полезно, ведь ради этого и создавался и развивается сайт и форум.
Спасибо."

6

Re: Получение данных из CustomDocumentProperties

Добавление пользовательских свойств в документ Word

Указанные пользовательские свойства в документе Word должны отсутствовать.
Иначе выводится ошибка Run-time error '-2147467259 (80004005)'.

Private Sub AddCustomDocumentProperties()
    With ActiveDocument.CustomDocumentProperties
        .Add Name:="Complete", _
            LinkToContent:=False, _
            Type:=msoPropertyTypeString, _
            Value:=""
        .Add Name:="CustomNumber", _
            LinkToContent:=False, _
            Type:=msoPropertyTypeNumber, _
            Value:=1000
        .Add Name:="CustomString", _
            LinkToContent:=False, _
            Type:=msoPropertyTypeString, _
            Value:="This is a custom property."
        .Add Name:="CustomDate", _
            LinkToContent:=False, _
            Type:=msoPropertyTypeDate, _
            Value:=Date
    End With
End Sub

Просмотр пользовательских свойств в документе Word

Private Sub DisplayCustomDocumentProperties()
    Dim i As Integer
    For i = 1 To ActiveDocument.CustomDocumentProperties.Count
        MsgBox ActiveDocument.CustomDocumentProperties(i).Name
    Next i
End Sub

Удаление конкретных пользовательских свойств из документа Word

Указанные пользовательские свойства в документе Word должны существовать.
Иначе выводится ошибка Run-time error '5'.

Private Sub DeleteCustomDocumentProperties()
    ActiveDocument.CustomDocumentProperties("Complete").Delete
    ActiveDocument.CustomDocumentProperties("CustomNumber").Delete
    ActiveDocument.CustomDocumentProperties("CustomString").Delete
    ActiveDocument.CustomDocumentProperties("CustomDate").Delete
End Sub
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

7

Re: Получение данных из CustomDocumentProperties

Спасибо за ответ, но мне необходимо добраться до этих свойств не открывая файл и не запуская ворд.

8

Re: Получение данных из CustomDocumentProperties

Mikkelle, какими средствами Вы хотели бы "добраться" до этих свойств?
В частности, есть еще возможность получить их значения из среды программирования (например, с помощью C#).

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

9

Re: Получение данных из CustomDocumentProperties

Хотелось бы получать доступ из среды ОС. По типу поиска из проводника Windows.
Образно говоря, что бы была возможность выбрать из группы файлов Word, файлы, имеющие определенные пользовательские свойства с определенными параметрами.

10

Re: Получение данных из CustomDocumentProperties

mikkelle пишет:

Хотелось бы получать доступ из среды ОС. По типу поиска из проводника Windows.
Образно говоря, что бы была возможность выбрать из группы файлов Word, файлы, имеющие определенные пользовательские свойства с определенными параметрами.

Я сомневаюсь, что это возможно.
Если найдете такое решение, сообщите, пожалуйста.

Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.

11

Re: Получение данных из CustomDocumentProperties

mikkelle пишет:

Хотелось бы получать доступ из среды ОС. По типу поиска из проводника Windows.
Образно говоря, что бы была возможность выбрать из группы файлов Word, файлы, имеющие определенные пользовательские свойства с определенными параметрами.

Alex_Gur пишет:

Я сомневаюсь, что это возможно.
Если найдете такое решение, сообщите, пожалуйста.

Пожалуйста.
Как то так можно сделать (для свойств, которые отображаются в панели Свойства Проводника

Sub Props_Shell_App()
'
'
    Dim objShellApp As Object, objFolderItem As Object, objFolder As Object
    Set objShellApp = CreateObject("Shell.Application")
    Set objFolder = objShellApp.NameSpace("C:\Temp")
    Set objFolderItem = objFolder.ParseName("a1.docx")
    Debug.Print objFolderItem.ExtendedProperty("DocTemplate")
    Debug.Print objFolderItem.ExtendedProperty("DocComments")
    Debug.Print objFolderItem.ExtendedProperty("DocTitle")
    Debug.Print objFolderItem.ExtendedProperty("DocSubject")
    Debug.Print objFolderItem.ExtendedProperty("DocLastAuthor")
    Debug.Print objFolderItem.ExtendedProperty("DocManager")
    Debug.Print objFolderItem.ExtendedProperty("DocCompany")
    Set objShellApp = Nothing
    Set objFolder = Nothing
    Set objFolderItem = Nothing
End Sub

А еще можно воспользоваться библиотекой dsofile.dll, которая позволяет получить не только встроенные, но и пользовательские свойства. Посмотрите на сайте  Microsoft. внешняя ссылка