繁体   English   中英

有没有办法使用 excel 中的 VBA 从 Sharepoint 检索文件元数据,而无需打开每个文件?

[英]Is there a way to retrieve file metadata from Sharepoint using VBA in excel without having to open each file?

我的目标是向我的用户提供一种方法,可以在 excel 的 VBA 用户表单中预览存储在 Sharepoint 上的文件的详细信息。 到目前为止,我能够使用Scripting.FileSystemObject检索文件列表。

我知道我可以使用ContentTypeProperties来访问我想要的信息,但这似乎取决于打开每个文件。 是否有其他方法可以让我访问元数据而无需打开每个文件?

我不是 Sharepoint 的狂热用户,所以请原谅我使用术语。

就我自己的理解而言,我正在进入未知领域,因此非常感谢任何帮助或进一步阅读的指示。

谢谢!

编辑:现有代码依赖Scripting.FileSystemObject仅检索文件名。

Private Sub UserForm_Activate()
Dim spURL As String
Dim oFile As Object, oFSO As Object, oFldr As Object, oFiles As Object, oDSO As Object
Dim ext As String, title As String
spURL = **sharepoint url**

Set oFSO = CreateObject("Scripting.Filesystemobject")
Set oFldr = oFSO.getfolder(spURL)
Set oFiles = oFldr.Files

For Each oFile In oFiles
    If InStr(1, ext, "xls") Then
        Me.cboFiles.AddItem oFile.Name
    End If  
Next
Set oFSO = Nothing
Set oFldr = Nothing
Set oFiles = Nothing
End Sub

现在假设我想获取文档类型,这是当文件签入到 sharepoint 时文档属性中的自定义字段,我知道我可以执行以下操作:

set wb = workbooks.open(spURL & oFile.Name)
debug.print wb.ContentTypeProperties.Item(x).Value

(其中 Item(x) 与我需要从中提取信息的字段相关)但是,我要确定的是是否存在不需要打开工作簿的替代方法。

深入研究一下,我在http://www.cpearson.com/excel/docprop.aspx上发现了以下内容:“VBA 不直接支持从关闭的文件中读取属性。但是,Microsoft 已免费提供下载一个名为 DSO OLE Document Properties Reader 2.1 的 DLL 文件,或简称为 DSOFile.dll。有了这个 DLL,您可以从“文件”中读取 OLE 和自定义属性等 XLS 工作簿

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM