Ошибка выполнения при вставке строки в таблицу Excel из VB.net - PullRequest
0 голосов
/ 08 февраля 2020

Обновлено 2/12:

VBA на помощь. Создано событие в Excel / VBA, которое вставляет строки при запуске из VB. net.

Если есть быстрый ответ на проблему, описанную ниже, пожалуйста, поделитесь. В противном случае не стоит беспокоиться.


Попытка использовать код в VB. net для вставки строки в электронную таблицу Excel. Вот код: xlWorkSheet.Rows.Insert (xlNextOutput, 1) '(строка, количество строк для вставки) xlNextOutput = 51

При выполнении это вызывает следующее сообщение об ошибке:

System.Runtime.InteropServices.COMException: 'Can't push objects off the sheet.'

Синтаксис команды выглядит правильным, но ошибки во время выполнения.

Этапы устранения неполадок:

  1. Проверен доступ к электронной таблице и возможность взаимодействия с объектами Excel:
Str1 = "B" & LTrim(Str(xlNextOutput)) & ":B" & LTrim(Str(xlNextOutput))
Str2 = "B" & LTrim(Str(xlNextOutput + 1)) & ":B" & LTrim(Str(xlNextOutput + 1))

' copy a cell in row 51 to row 52 -- this works ******
xlWorkSheet.Range(Str2).Value = xlWorkSheet.Range(Str1).Value
Str1 = "A" & LTrim(Str(xlNextOutput)) & ":ZZ" & LTrim(Str(xlNextOutput))

' clear contents of row 51 -- this works ******
xlWorkSheet.Range(Str1).ClearContents()

По результатам поиска по сообщению об ошибке ... определено, что "последняя" ячейка в электронной таблице не находится в максимальной строке таблицы с использованием Ctrl + End . «Последней» ячейкой был BL42739. Насколько я понимаю, поскольку между этой ячейкой и концом таблицы есть много строк, вставка другой строки в строку 51 не должна быть проблемой.

Из поиска по сообщению об ошибке ... определил, что параметры Excel были правильными, чтобы избежать известной проблемы со вставкой строк.
Файл / Параметры / Дополнительно / Параметры отображения для этой книги / Для объектов show = All

Были и другие попадания при поиске сообщения об ошибке, но другие не показывались подходящими.

Поиск StackOverflow:
vb. net ошибка при вставке строки в таблицу Excel - без результатов
vb. net вставка строки в таблицу Excel - - несколько результатов, но не одна и та же проблема

При создании этого вопроса для SO были рассмотрены рекомендуемые вопросы.

Конечно, я что-то упустил.

Заранее спасибо за помощь!

...