You do not need this line:
[void][reflection.assembly]::Loadwithpartialname("microsoft.office.excel")
($ Excel = New-Object -ComObject Excel.Application is enough here)
I do not think that you are referencing the full path to your Excel files. Try changing this line:
$WorkBook = $Excel.Workbooks.Open($file)
Change to:
$WorkBook = $Excel.Workbooks.Open($file.Fullname)
Also, consider adding a filter to the Get-ChildItem command; if there are subdirectories or files without Excel, they will cause errors:
$files = Get-ChildItem C:\Test -filter "*.xls"
source share