Как добавить строку в таблицу документов Word с помощью C # - PullRequest
0 голосов
/ 25 октября 2019

При добавлении новой строки в таблицу документов Word я столкнулся со следующей ошибкой: -

System.Runtime.InteropServices.COMException: 'Запрашиваемый элемент коллекции не существует.'

Полный код, который я использовал: -

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
object miss = System.Reflection.Missing.Value;
object path = string.Format(@"Doc_Path_here");
object readOnly = false;
Microsoft.Office.Interop.Word.Document doc = word.Documents.Open(ref path, ref miss, ref readOnly, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss);
doc.Tables[0].Rows.Add();

Я попробовал решения, которые существуют здесь и здесь без какого-либо положительного результата.

любая помощь приветствуется.

Обновление: -

Слово документ имеет одну таблицу, это подтверждается, а также переменная результата nCount следующего кода 1

int nCount = doc.Tables.Count;

1 Ответ

0 голосов
/ 25 октября 2019

Как описано здесь, в MSDN :

При попытке доступа к объекту, который не существует, возникает ошибка «запрошенный элемент коллекции не существует».

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

И, как упоминалось в комментариях @Cindy Meister, Коллекции Office не основаны на нулях . Попробуйте получить к нему доступ так:

doc.Tables[1].Rows.Add();
...