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 >---- } } } |