VBA: Как прочитать свойства SharePoint (DocumentTypeProperties) для файлов Visio? - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь прочитать свойства SharePoint (например, версию) для файла Visio в библиотеке документов SharePoint.

В Word, Excel и PowerPoint вы можете читать свойства SharePoint с помощью VBA через свойство «.DocumentTypeProperties» для ActiveDocument (Word), Workbook (Excel) или ActivePresentation (Powerpoint). Пример для PowerPoint, который отображает окно сообщения со всеми свойствами SharePoint:

Option Explicit

Sub printContentTypeProperties()
    Dim prop As Variant
    Dim propstr$
    propstr$ = ""
    For Each prop In ActivePresentation.ContentTypeProperties
        Select Case VarType(prop.Value)
        Case 8: ' String
            propstr$ = propstr$ & prop.Name & ": " & prop.Value & Chr$(10)
        Case 2 To 6 Or 14 Or 17 Or 20: ' Number (numeric value)
            propstr$ = propstr$ & prop.Name & ": " & Str$(prop.Value) & Chr$(10)
        Case Else:
            propstr$ = propstr$ & prop.Name & ": " & "NO_STRING_OR_NUMBER" & Chr$(10)
        End Select
    Next prop
    MsgBox propstr$
End Sub

Я действительно долго искал в Google, StackOverflow, но не могу найти, как читать свойства SharePoint для файлов Visio. Объект «Документ» в Visio (см. https://docs.microsoft.com/de-de/office/vba/api/visio.document) не имеет свойства «DocumentTypeProperties».

Можно ли читать свойства SharePoint с помощью файлов VBA для Visio? Какая версия Visio необходима (Стандартная или Профессиональная)?

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Нет API для чтения (определенных пользователем) свойств файла Visio SharePoint из файла Visio.

Вы всегда можете самостоятельно проанализировать файл Visio. Если эти свойства существуют в файле, вы сможете получить их, поскольку файл Visio теперь представляет собой просто набор сжатых XML-файлов (при условии, что файл не в старом двоичном формате)

0 голосов
/ 25 июня 2019

AFAIk DocumentTypeProperties нет, но вы можете получить доступ к стандартным прямо из объекта document. Обсуждение MSDN

ThisDocument.FullName
ThisDocument.TimeCreated
ThisDocument.Creator

Если вы хотите сохранить некоторую информацию в своем документе, вы можете сохранить их в таблице документа ThisDocument.DocumentSheet, пока я не нашел лучшего варианта.

...