【问题标题】:How will I get the last modified date of a file in a SharePoint using VBA?如何使用 VBA 在 SharePoint 中获取文件的最后修改日期?
【发布时间】:2021-07-19 10:12:15
【问题描述】:

我想寻求有关在 Sharepoint 中获取文件的最后修改日期的帮助。我将使用什么 VBA 代码/命令来执行它。 单击命令按钮时,我想在 MsgBox 中显示文件的“上次修改日期”。

非常感谢您的及时回复。

【问题讨论】:

    标签: vba excel sharepoint sharepoint-2013


    【解决方案1】:

    这个也让我摸不着头脑……

    确保在根 URL 之后添加“@ssl”,例如

    FileDateTime("\\site.com@ssl\file.xlsx")

    【讨论】:

      【解决方案2】:

      你可以使用

      FileDateTime ( file_path )
      

      获取文件创建或最后修改的日期和时间。

      欲了解更多信息,请访问以下链接..

      VBA Help

      【讨论】:

      • 您好,我使用此命令获取共享点中文件的最后修改日期。我将我的 sharepoint 站点的链接放在 file_path 上。但它会引发错误。你能帮我解决这个问题吗?
      • 嗨! @Kaustav Banerjee 这是我执行的命令: Dim ModifiedDate as Date ModifiedDate = FileDateTime("site1/folder1/subfolder2/subfolder3/aaaa.xlsx") 然后错误是,“运行时错误'5':无效的过程调用或参数”。请帮助我。谢谢!: )
      • 粗体 Dim ModifiedDate as Date ModifiedDate = FileDateTime("site1/folder1/subfolder2/subfolder3/aaaa.xlsx")
      • 我搜索了这个错误并在 MSDN 中获得了以下参考。您能否验证这是否是与平台相关的问题...如果不是,那么我将尝试进一步调查...msdn.microsoft.com/en-us/library/aa445484(v=vs.60).aspx
      • 或者你也可以试试这个“公共函数 gsGetLastModifiedDate(rsURL As String) As String Dim x As Object On Error GoTo ErrHandler Set x = CreateObject("MSXML2.XMLHTTP.5.0") x.Open" HEAD", rsURL, False x.send gsGetLastModifiedDate = x.getResponseHeader("Last-Modified") ExitRoutine: Set x = Nothing Exit Function ErrHandler: Resume ExitRoutine End Function"
      【解决方案3】:

      我一直在尝试解决这个问题,但我在另一条调查中偶然发现了一些东西,这让我找到了解决方案。

      在您的 VBA 窗口中,转到工具 -> 参考,然后向下滚动并选中“Microsoft Scripting Runtime”旁边的框。

      然后,当您指定链接时,它将如下所示:

      FileDateTime("//site.com/page/file.xlsx")。

      没有“http:”一旦我这样做了,它就像一个魅力。

      【讨论】:

        【解决方案4】:
        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 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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-21
          • 2019-02-26
          • 1970-01-01
          • 2012-08-07
          • 1970-01-01
          • 1970-01-01
          • 2018-09-13
          相关资源
          最近更新 更多