Таблицы PowerPoint 2007: определение объединенных ячеек - PullRequest
5 голосов
/ 26 ноября 2010

Как определить объединенные ячейки в PowerPoint 2007?Есть ли в любом случае мы могли бы найти конкретную ячейку слиты.

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

Ответы [ 3 ]

3 голосов
/ 22 декабря 2010

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

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

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

1 голос
/ 16 марта 2011

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

0 голосов
/ 07 декабря 2012

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

...