2010-11-26 9 views
4

Как определить объединенные ячейки в PowerPoint 2007? В любом случае мы можем найти, что конкретная ячейка слита.Таблицы PowerPoint 2007: идентификация объединенных ячеек

В 2003 году мы попытались получить доступ к свойству Fill.Visible ячейки, и когда он выдает ошибку, мы можем идентифицировать ячейку как объединенную ячейку. Как мы достигаем этого в 2007 году?

+0

@otaku спасибо, он работал только для нескольких сценариев. будет проверять больше и обновлять. в любом случае я отмечу ваш ответ. – Aneef 2011-02-28 17:31:52

ответ

3

Жестко. Тем не менее, лучший способ, который я нашел, - проверить ширину ячейки. Этот код не является лучшим, как она ловит каждую клетку, но это может стать отправной точкой для вас:

Dim r As Row 
Dim co As Column 
Dim c As Cell 
For Each co In tbl.Columns 
    For Each c In co.Cells 
     If c.Shape.Width <> co.Width Then 
      Debug.Print "Is merged cell" 
     End If 
    Next 
Next 

В таблице 2х2, где клетки 2.1 и 2,2 слиты (то есть второй ряд теперь одна клетка), это будет печатать дважды «Объединенная ячейка», потому что внутри таблицы все еще сохраняются ячейки 2.1 и 2.2. Но это отправная точка, как указано ...

+0

спасибо, проверите это – Aneef 2010-12-22 06:04:27

0

Я думаю, что лучше было бы сравнить c1.Left == c2.Left & & c1.Top == c2.Top. Это означает, что 2 ячейки объединены. Чтобы пройти все ячейки только один раз, я просто удаляю «дубликаты» с помощью LINQ's Distinct и Custom Comparer.

0

Клетки, которые объединены вместе, будут иметь одинаковые cell.Shape.Name. К сожалению, пока это работает в PowerPoint 2003, вы получаете NotImplementedException при запросе имени этих Shapes на PowerPoint 2007. Я не знаю о более поздних версиях.

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