Readdy Write

Word vba Fehler: Es können keine individuellen Reihen in dieser Sammlung adressiert werden, weil die Tabelle vertikal verbundene Zellen enthält.

22.10.2018 (👁4766)

Word vba Fehler: Es können keine individuellen Reihen in dieser Sammlung adressiert werden, weil die Tabelle vertikal verbundene Zellen enthält.

System.Runtime.InteropServices.COMException

  HResult=0x800A1767

  Message=Es können keine individuellen Reihen in dieser Sammlung adressiert werden, weil die Tabelle vertikal verbundene Zellen enthält.

  Source=<Cannot evaluate the exception source>

  StackTrace:

<Cannot evaluate the exception stack trace>

 

Der Fehler tritt auf, wenn man in Word vba Tabellen nach Reihen und Spalten durchlaufen möchte.

Wenn in einer Tabelle Zellen horizontal oder vertikal verbunden wurden, dann ist die Aufzählung nach Table.Rows[n] oder Table.Columns[n] nicht mehr möglich

Hier in C#

Da die Tabelle verbundene Zellen aufweist, verursacht der Programm-Code einen Fehler im Word-Addin.

Lösung

Lösung im vba oder C# Code.

Man darf nur nach Cells untersuchen

cell = table.Cell(1, iCol);

Wenn eine Zelle nicht erfasst werden kann, dann muss mit try-catch der Fehler unterbrochen werden

Beispiel Word Tabelle durchlaufen in C# in einem Word-Addin

//*Loop all tables and look for header

foreach (Word.Table table in _doc.Tables)

{

    if (table.Rows.Count > 0)

    {

        int intColumns_Count = table.Columns.Count;

        for (int iCol = 1; iCol <= intColumns_Count; iCol++)

        {

            //----< @Loop: Columns in Table_Header >----

            Cell cell = null;

            try

            {

                cell = table.Cell(1, iCol);

                if (cell.Range.Text.IndexOf(sHeader) == 0)

                {

                    return table;

                }

            }

            catch (Exception)

            {

                //< endofcolumns >

                break;

                //</ endofcolumns >

            }

            //----</ @Loop: Columns in Table_Header >----

        }

    }

}


0,00 €