Определите, объединена ли ячейка Word - PullRequest
2 голосов
/ 24 ноября 2010

Мне нужно программно добавлять и удалять строки из таблицы Word 2010. К сожалению, заголовок таблицы содержит объединенные ячейки, объединенные как по горизонтали, так и по вертикали. Это вызывает ошибку при использовании методов Row.Add и Row.Delete. Я проверил и обнаружил, что могу программно удалить объединенные ячейки (Cell.Split), а затем выполнить методы .Add и .Delete и затем восстановить объединенные ячейки. У меня проблема с определением, какие ячейки объединяются.

-------------------------
| 1,1 | 1,2 | 1,3 | 1,4 |
-------------------------
| 2,1 | 2,2 | 2,3 | 2,4 |
-------------------------

Если ячейки 1,1 и 2,1 объединены вертикально, то при доступе к Table.Cell (2,1) выдается ошибка. И это хорошо. Но если ячейки 1,1 и 1,2 слиты по горизонтали, доступ к 1,2 не вызывает ошибку, а доступ к 1,4 делает. Это означает, что я не могу определить, какие ячейки объединены по горизонтали.

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

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

Спасибо, Aaron

Ответы [ 3 ]

2 голосов
/ 30 ноября 2010

При работе с таблицами, которые могут содержать объединенные ячейки, вы всегда должны начинать с CELL (1,1) и проходить по ячейкам с помощью CELL.NEXT (Next является свойством объекта CELL)

Если вы сделаете это, вы можете запросить, какая строка и столбец является «текущей» ячейкой. Вы не можете + ссылаться на ячейки по столбцам строк непосредственно в таблицах с объединенными ячейками, иначе вы получите указанную ошибку.

Тогда просто продолжайте до тех пор, пока NEXT ничего не вернет.

0 голосов
/ 01 декабря 2010

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

0 голосов
/ 24 ноября 2010

Вам придется отложить слияние до тех пор, пока вы не разберетесь со всеми записями.

Word плохо работает с таблицами.

Я предлагаю вам создать книгу Excel исвяжите рабочий лист из вашей книги Excel с вашим документом Word.Excel лучше всего работает с таблицами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...