我需要将excel文件的Last Modified Data从Share point获取为变量。
我有excel文件在sharepoint中,每周更新一次。我只需要在变量中获取lats修改日期以继续我的宏。请帮助。
提前致谢!!!
答案 0 :(得分:0)
检查this solution from exceluser.com:
Public Function LastSaveTime() As String
Application.Volatile
LastSaveTime = ThisWorkbook.BuiltinDocumentProperties("Last Save Time")
End Function
这也适用于存储在sharepoint库中的工作簿 - 只是使用SharePoint 2010进行测试
编辑以从SharePoint列表中获取数据:
检查此Link - 在那里解释了如何将列表数据读入Excel。
使用此Link,您将能够获取ListName和ViewName。
使用这两个组合最简单的方法是为列表创建一个新视图并仅将更改列添加到视图中 - 当数据导入到Excel时,您可以轻松读取该数据并再次删除添加的表
希望这有助于让您朝着正确的方向前进。 (经过测试和使用SP2010列表)
答案 1 :(得分:0)
Sub TestWhen()
SPFilePath = "http://teams.MyCompany.com/sites/PATH/PATH/Fulfillment/Forms/AllItems.aspx"
Debug.Print SPLastModified(SPFilePath, "2021_MyFileName.xlsx")
End Sub
Function SPLastModified(SPUrl As String, SPFName As String)
Dim ie As Object
Dim PagesHTML As String
Dim Dadate As String
Dim DaDateEnd As String
Dim arr() As String
arr = Split(OutString, " ")
Dim LastChange As Variant
Set ie = CreateObject("InternetExplorer.Application")
With ie
.Visible = True
.navigate SPUrl
Do Until .readyState = 4
DoEvents
Loop
Do While .busy: DoEvents: Loop
Do Until .readyState = 4
DoEvents
Loop
PagesHTML = ie.document.DocumentElement.outerHTML
End With
' Get to File
Dadate = InStr(PagesHTML, "FileLeafRef" & Chr(34) & ": " & Chr(34) & SPFName)
' Get to Modified Date
ModifiedText = "Modified" & Chr(34) & ": "
Dadate = Dadate + InStr(Mid(PagesHTML, Dadate), ModifiedText)
OutString = Mid(PagesHTML, Dadate + Len(ModifiedText), 27)
arr = Split(OutString, " ")
LastChange = arr(1) & " " & arr(2)
LastChange = arr(0) & "/" & Mid(arr(1), 6) & "/" & Mid(arr(2), 6, 4) & " " & LastChange
SPLastModified = LastChange
End Function