I have written a C# code in console application to open two excels and copy and paste data from one excel to another excel. It was working fine until the destination excel\'
I solved this behaviour with the help of this question:
Strange behaviour of "Call was rejected by callee." exception with Excel
The issue was simply that the Workbook.Open
hadn't finished when I gave a Worksheet.SaveAs
command. So sometimes, the script would work, sometimes not.
I simply added a pause in the script after Workbook.Open
and it worked. I went on to find a property Ready
, which allowed me to do exactly what I wanted:
$excel = New-Object -ComObject "Excel.Application" -ea Stop
$wb = $excel.Workbooks.Open($workbook)
$sheet = $wb.Sheets("List")
while (-not $excel.Ready) {
sleep 1
}
$sheet.SaveAs($csvpath,6)
So in my case, it had nothing to do with non-activated or corrupted Excel installations.