Ms Word автоматизации таблицы строк с использованием C # - PullRequest
0 голосов
/ 28 февраля 2019

Какова основная причина этой ошибки

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

У меня есть таблица, в которую я хочу добавить данные (хранящиеся в массиве), но вторая строка таблицы объединена, и я получил это сообщение об ошибке.

Что может быть подходящимрешение для устранения этой ошибки.

Код:

if (pCell.Range.Text.Contains("List of components robots"))
{   
    iDT16 = 0; rowcount = 0;
    foreach (int Row in wordDocument.Tables[j].ToString()) // Add row in the table according to data available inside Result array
    {
        while (sDesignation_Componentsrobots[iDT16] != null)
        {
            wordDocument.Tables[j].Rows.Add();
            wordDocument.Tables[j].Rows.SetHeight(28, Word.WdRowHeightRule.wdRowHeightAtLeast);
            rowcount = wordDocument.Tables[j].Rows.Count;
            iDT16++;
        }
    }

    // Fill the row with data and add checkbox in particular table column.
    iDT16 = 0;  iEST16 = 0;

    for (int row = 3; row <= rowcount; row++)
    {
        wTable.AllowAutoFit = true;
        wTable.Rows[row].Range.Font.Bold = 0;
        wTable.Rows[row].Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;
        wTable.Rows[row].Range.ParagraphFormat.SpaceBefore = 5;
        wTable.Cell(row, 1).Range.Text = sDesignation_Componentsrobots[iDT16];
        wTable.Cell(row, 3).Range.Text = sEmergency_stopcircuit_T16[iEST16];
        Word.FormField checkBox2 = wTable.Cell(row, 6).Range.FormFields.Add(wTable.Cell(row, 6).Range, Word.WdFieldType.wdFieldFormCheckBox);
        iDT16++; iEST16++;
    }

    break;
}

Таблица с объединенной строкой:

Table with merged row

...