Как получить дату последнего изменения файла в SharePoint с использованием VBA?
Я хотел бы обратиться за помощью относительно получения даты последнего изменения файла в Sharepoint. Какой код / команду VBA я буду использовать для его выполнения. Я хотел бы показать эту "дату последнего изменения" файла в MsgBox при нажатии кнопки команды.
Ваш быстрый ответ очень ценится.
4 ответа
Я пытался выяснить это некоторое время, и наткнулся на что-то в другой линии расследования, которая привела меня к решению.
В окне VBA перейдите в Инструменты -> Ссылки, а затем прокрутите вниз и установите флажок рядом с "Среда выполнения сценариев Microsoft".
Затем, когда вы укажете ссылку, она будет выглядеть так:
FileDateTime("//site.com/page/file.xlsx
").
Нет "http:" Как только я это сделал, это сработало как шарм.
Этот заставил меня немного почесать голову...
Обязательно добавьте "@ssl" после корневого URL, например
FileDateTime("\\site.com@ssl\file.xlsx")
Ты можешь использовать
FileDateTime ( file_path )
чтобы получить дату и время, когда файл был создан или последний раз изменен.
Для получения дополнительной информации, пожалуйста, посетите ссылку ниже.
Sub TestWhen()
SPFilePath = "http://teams.MyCompany.com/sites/PATH/PATH/Fulfillment/Forms/AllItems.aspx"
SPFileName = "2021_MyFileName.xlsx"
MsgBox SPFileName & " last modified on" & SPLastModified(SPFilePath, SPFileName)
End Sub
Function SPLastModified(SPUrl As String, SPFName As String)
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