问题
I would like to open the most recent workbook in SharePoint document library. The file is saved as an archive that I need to access to pull information from.
I have tried a bit of VBA script that allowed me to access the file through CAFs but since all my folders have been moved online to 365 I need a new way to access the most recent archive workbook in the folder.
'Force the explicit delcaration of variables
Option Explicit
Sub OpenLatestFile()
'Declare the variables
Dim MyPath As String
Dim MyFile As String
Dim LatestFile As String
Dim LatestDate As Date
Dim LMD As Date
'Specify the path to the folder
MyPath = "file location on sharepoint"
'Make sure that the path ends in a backslash
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
'Get the first Excel file from the folder
MyFile = Dir(MyPath & "*.xlsm")
'If no files were found, exit the sub
If Len(MyFile) = 0 Then
MsgBox "No files were found...", vbExclamation
Exit Sub
End If
'Loop through each Excel file in the folder
Do While Len(MyFile) > 0
'Assign the date/time of the current file to a variable
LMD = FileDateTime(MyPath & MyFile)
'If the date/time of the current file is greater than the latest
'recorded date, assign its filename and date/time to variables
If LMD > LatestDate Then
LatestFile = MyFile
LatestDate = LMD
End If
'Get the next Excel file from the folder
MyFile = Dir
Loop
'Open the latest file
Workbooks.Open MyPath & LatestFile
回答1:
You should still be able to use Dir:
Const PATH As String = "\\companyHere.sharepoint.com\Departments\Blah\Stuff\"
Dim f
f = Dir(PATH & "*.xlsx")
Debug.Print f
Debug.Print FileDateTime(PATH & f)
works for me.
回答2:
Solved this problem. I had to use the URL path.
来源:https://stackoverflow.com/questions/58752868/open-most-recent-workbook-in-a-folder-on-sharepoint-document-library