Как получить дату последнего изменения файла в 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 )

чтобы получить дату и время, когда файл был создан или последний раз изменен.

Для получения дополнительной информации, пожалуйста, посетите ссылку ниже.

Справка VBA

      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
Другие вопросы по тегам