У меня возникли проблемы с доступом к именованной ячейки в Excel из C# с помощью Excel Interop, когда ячейка скрыта, и я к нему доступ, как так:Excel Interop COMException HRESULT: 0x800A03EC при доступе к скрытой ячейки
bool SomeBoolean = WorkSheet.Range["MyRangeName"].Value;
Диапазон свойство неявно вызывает get_range
, когда я обращаюсь к нему, и это то, что бросает исключение в соответствии со стеком. Код, используемый для прямого вызова get_range
, и который имел аналогичные результаты.
Если я обнаруживаю ячейки, он работает нормально. Если я перехожу через код по строкам, он отлично работает (это всегда разочаровывает ситуацию).
Конечно, я могу решить эту проблему, скрывая ячейки, но я хотел бы попытаться найти более элегантное решение. Я просмотрел документацию MSDN и несколько потоков здесь, но я ничего не могу найти. Любая помощь приветствуется!
MSDN страница Worksheet.Range: https://msdn.microsoft.com/en-us/library/office/ff836512.aspx
Я не могу повторить эту проблему. Я знаю, что в прошлом я имел доступ к скрытым диапазонам - Interop (или VBA, если на то пошло) никогда не заботится. Напротив, я должен уйти с дороги, чтобы избежать скрытых диапазонов. Я проверил это как тест, и я серьезно не могу заставить его выбросить эту ошибку. Можете ли вы загрузить свою электронную таблицу (или соответствующую ее часть) DropBox или что-то подобное? Мне очень любопытно. – Hambone