I am getting a run time error when running the script below. The files are located on a SharePoint site. I can open each of the files with no problem so I don't think they are corrupt.
This line is where the error occurs "Set WorkBk = Workbooks.Open(FolderPath & FileName)"

Sub MergeNonPoInvoices()
Dim SummarySheet As Worksheet
Dim FolderPath As String
Dim NRow As Long
Dim FileName As String
Dim WorkBk As Workbook
Dim SourceRange As Range
Dim DestRange As Range
Dim FolderName As String

Application.ScreenUpdating = False

'Designates Sheet for pasting from multiple workbooks

Set SummarySheet = Worksheets(1)

'Modify folder path when transferring between process owners

FolderPath = "\\workspace.bsaconnect.com\fin\AP\NonPO Invoices\2017\"

'Nrow keeps track of where to insert new rows in the workbook

NRow = 2

'Call directory the first time pointing it to all excel files

FileName = Dir(FolderPath & "*.xlsx*")

'Loop until directory returns empty string

Do While FileName <> ""
    'Open a workbook in the folder
    Set WorkBk = Workbooks.Open(FolderPath & FileName)  - This is where the error occurs
    'Set the cell in column A to be the file
    SummarySheet.Range("U" & NRow).Value = FileName
    'Set the range to be A1000 through W1000
    Set SourceRange = WorkBk.Worksheets(2).Range("A2:X400")
    'Set the destination range
    Set DestRange = SummarySheet.Range("A" & NRow)
    Set DestRange = DestRange.Resize(SourceRange.Rows.Count, SourceRange.Columns.Count)
    'Copy over values from the source to the destination
    DestRange.Value = SourceRange.Value
    'Increase NRow so that data moves down
    NRow = NRow + DestRange.Rows.Count
    'Close source workbook
    WorkBk.Close savechanges:=False
    'Use Dir to get to the next file name
    FileName = Dir()
Loop