2012-03-13 5 views
1

Кто-нибудь знает, как я могу удалить столбец таблицы в слово из C#? Я в основном выполняю поиск слова doc для таблиц и для каждой найденной таблицы, я хочу удалить весь столбец с именем «Student ID» из этой таблицы. Я знаю, что вы можете удалить, индекс столбца с помощью кода, как:Word Automation: удаление столбца таблицы по имени

wordTable.Columns[0].Delete(); 

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

Благодаря

ответ

1

Таблицы не имеют имена, как, например - то, что вы, вероятно, означает, есть столбец, верхняя ячейка имеет «Student ID» в нем. Вам придется ходить по столбцам и смотреть на верхнюю ячейку в каждом (возможно, вы можете хотя бы гарантировать, что имеет самый низкий индекс ячейки), чтобы найти, есть ли у него текст, который вы ищете.

wordTable.Columns[n].Cells[0].Range.Text 
+0

Как я могу удалить столбец * всего *, а не только эту ячейку с заголовком столбца? –

+0

Как только у вас есть правильная запись столбцов (n) (объект столбца), вызов функции Delete() был прав. Просто будьте осторожны - в самом Word, если вы напишете его как макрос VBA, таблицы, столбцы и ячейки основаны на 1, а не на 0 - я не уверен, что это верно для вызова кода извне. Если вам удастся найти правильный столбец, я уверен, что ваши индексы верны. Резервное копирование было бы разумным! – JTeagle

Смежные вопросы