COM-взаимодействие Excel — исключение get_Range из HRESULT: 0x800A03EC

#c# #com #interop

#c# #com #взаимодействие

Вопрос:

Я получаю это исключение:

System.Runtime.Службы взаимодействия.COMException: Исключение из HRESULT: 0x800A03EC.

в этом фрагменте кода:

          foreach(Excel.Range rng in xlWorkSheet1.UsedRange.Cells)
            {       
                
                if (rng.Value2 != xlWorkSheet2.get_Range(rng,Type.Missing).Value2) //here
                {
...........
  

Я в основном пытаюсь сравнить два файла Excel ячейка за ячейкой, но get_range кажется, выдает мне эту ошибку. Почему?

Комментарии:

1. К вашему СВЕДЕНИЮ, 0x800A03EC = ОШИБКА_INVALID_FLAGS

Ответ №1:

Я думаю, вам следует быть несколько более конкретным при получении диапазона из xlWorkSheet2 с помощью свойства address rng.

В качестве альтернативы вы можете выполнить итерацию по строкам и столбцам используемого диапазона и предоставить строку и столбец в xlWorkSheet2.Cells[строка, столбец].

Комментарии:

1. Спасибо, я исправил это, выполнив xlWorkSheet2.get_Range (rng.get_Address (Тип.Отсутствует, Type.Missing, Excel. XlReferenceStyle.xlA1, Тип.отсутствует, Тип.Отсутствует), Тип.Отсутствует). Значение 2)