У меня есть эта VBA-функция, которую я собрал вместе из поисков того, как проверить, существует ли файл SharePoint с использованием VBA. В конце концов, большая часть кода, который я использую, взята из этого поста , который снова заимствует свой метод из SO-поста .
Поскольку я не слишком знаком с работой с SharePoint (или с URL-адресами в целом) в VBA, мне интересно, есть ли способ, которым эта функция может давать ложное срабатывание, то есть утверждать, что файл существует, а его нет. Или наоборот, я полагаю.
Function sharepointFileExists(ByVal strUrl As String) As Boolean
On Error GoTo ErrorHandler
Dim oHttp As Object
Set oHttp = CreateObject("MSXML2.XMLHTTP.3.0")
oHttp.Open "HEAD", strUrl, False
oHttp.Send
Debug.Print oHttp.Status & " " & oHttp.statusText
sharepointFileExists = True
Exit Function
ErrorHandler:
Debug.Print "Error: " & Err.Description
sharepointFileExists = False
End Function
Я пробовал некоторые очевидные вещи, такие как указание пути к папке вместо файла или к файлу на локальном диске, оба из которых дали удовлетворительные результаты.
Однако я, как я уже сказал, не знаком с работой с сетями в VBA, поэтому, если я упускаю из виду любые способы, которыми эта функция может меня подвести, я бы очень хотел знать. Могу ли я, например, получить статусы, которые не будут выдавать ошибку, но что будет означать, что по указанному пути не существует файла?