Я попробовал ваш код, и следующая строка вызвала исключение:
Temp = "'" + .Cells(i, 9).value
, потому что вы используете оператор +
для объединения строк, а если значение ячейки не является строкой, оно будетбросить исключение.попробуйте следующий синтаксис.
Temp = "'" & .Cells(i, 9).value
Также вы можете удалить .Save
строку и использовать .Close(SaveChanges:=True)
Примечание:
ПослеСценарий выполнен, Excel останется открытым в фоновом режиме, необходимо добавить следующие строки:
Marshal.ReleaseComObject(owsheet)
Marshal.ReleaseComObject(oWorkbook)
Marshal.ReleaseComObject(oExcel)