Создайте папку в Livelink с помощью VBA

Я ищу самый простой и быстрый способ создать папку в Livelink с помощью VBA. Я работаю с Microsoft Access 2003. Например, я хочу создать папку в Livelink\Enterprise\folder1\folder2\. У меня также есть folder2 LivelinkID (7 цифр), хранящихся в моей базе данных Access. Серверу Livelink требуется около 1-2 секунд, чтобы ответить каждый раз, когда я его пингую.

Каким будет лучший способ создать папку в Livelink в моем проекте VBA? Версия Livelink — 9.7.1.0.814 с Livelink Explorer (Connect) 4.8.2.397, с использованием Outlook 2003.

Спасибо.


person dan    schedule 11.10.2012    source источник


Ответы (1)


Наконец-то заработало с WebDAV. Это также будет работать с MAPI, но это очень долго, чтобы добраться до глубокой родительской папки (каждый раз просматривая папку за папкой).

Вот функция, которую я получил:

Public Function CreateFolderToLLFolder(parentId As String, folderName As String) As String
    Dim dav As New ADODB.Record
    Dim elements As ADODB.Recordset
    Dim fields(1) As Variant
    Dim values(1) As Variant

    dav.Open URL_WEBDAV & parentId, "", adModeReadWrite, , , LLUser, LLPassword
    Set elements = dav.GetChildren

    fields(0) = "RESOURCE_PARSENAME"
    values(0) = folderName 

    fields(1) = "RESOURCE_ISCOLLECTION"
    values(1) = True

    elements.addnew fields, values

    elements.Close
    Set elements = dav.GetChildren
    dav.Close

    elements.MoveFirst
    Do Until elements.EOF
        If elements("RESOURCE_DISPLAYNAME") = folderName Then
            Exit Do
        End If
        elements.MoveNext
    Loop
    If Not elements.EOF Then
        dav.Open elements
        CreateFolderToLLFolder = dav("urn:x-opentext-com:ll:properties:nodeid")
    Else
        CreateFolderToLLFolder = -1
    End If

    dav.Close
    elements.Close
Exit Function

URL_WEBDAV, например, http://livelink.yourserver.com/livelinkdav/nodes/. Также используйте LLUser и LLPassword, если это необходимо.

person dan    schedule 27.11.2012