MyTetra Share
Делитесь знаниями!
Подключение папки Sharepoint как диска2
Время создания: 31.10.2020 22:16
Текстовые метки: Sharepoint, WebDAV
Раздел: !Закладки - VBA - sharepoint
Запись: xintrea/mytetra_db_adgaver_new/master/base/1604171763g1ad1t9t5w/text.html на raw.githubusercontent.com

Единственный способ я нашел, чтобы работать с файлами на SharePoint, имея прав сервера, чтобы отобразить папку WebDAV на букву диска. Вот пример реализации.

Добавить ссылки на следующие библиотеки ActiveX в VBA:

  • ОС Windows Script Host Model Object ( wshom.ocx) - для WshNetwork
  • Microsoft Scripting Runtime ( scrrun.dll) - для FileSystemObject

Создайте новый модуль класса, назовем его DriveMapperи добавьте следующий код:

Option Explicit


Private oMappedDrive As Scripting.Drive

Private oFSO As New Scripting.FileSystemObject

Private oNetwork As New WshNetwork


Private Sub Class_Terminate()

UnmapDrive

End Sub


Public Function MapDrive(NetworkPath As String) As Scripting.Folder

Dim DriveLetter As String, i As Integer


UnmapDrive


For i = Asc("Z") To Asc("A") Step -1

DriveLetter = Chr(i)

If Not oFSO.DriveExists(DriveLetter) Then

oNetwork.MapNetworkDrive DriveLetter & ":", NetworkPath

Set oMappedDrive = oFSO.GetDrive(DriveLetter)

Set MapDrive = oMappedDrive.RootFolder

Exit For

End If

Next i

End Function


Private Sub UnmapDrive()

If Not oMappedDrive Is Nothing Then

If oMappedDrive.IsReady Then

oNetwork.RemoveNetworkDrive oMappedDrive.DriveLetter & ":"

End If

Set oMappedDrive = Nothing

End If

End Sub

После этого вы можете реализовать его в коде:

Sub test()

Dim dm As New DriveMapper

Dim sharepointFolder As Scripting.Folder


Set sharepointFolder = dm.MapDrive("http://your/sharepoint/path")


Debug.Print sharepointFolder.Path

End Sub

Ответил 29/10/2009 в 21:59
источник пользователем Chris Hayes

 
MyTetra Share v.0.59
Яндекс индекс цитирования