Откройте самую последнюю книгу в папке в библиотеке документов SharePoint - PullRequest
0 голосов
/ 07 ноября 2019

Я хотел бы открыть самую последнюю книгу в библиотеке документов SharePoint. Файл сохраняется как архив, к которому мне нужен доступ для извлечения информации.

Я попробовал немного VBA-скрипта, который позволил мне получить доступ к файлу через CAF, но так как все мои папки были перемещены в Интернет365 Мне нужен новый способ доступа к самой последней архивной книге в папке.

'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

Ответы [ 2 ]

0 голосов
/ 08 ноября 2019

Решил эту проблему. Я должен был использовать путь URL.

0 голосов
/ 07 ноября 2019

Вы все еще можете использовать 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)

работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...