MSO_CONNECT не обнаружен. Получение количества строк на слайде? - PullRequest
0 голосов
/ 02 июля 2019

Мне нужно получить количество строк на слайде. Для доступа к линиям я использую MSO_CONNECTOR, так как это не AUTO_SHAPE. Однако, когда я запускаю ниже, он возвращает значение None по какой-то причине. Как я могу узнать, является ли фигура линией или нет? (попытка использования is_connector также вернула ошибку)

def get_number_of_lines(slide):
    lines = 0
    for shape in slide.shapes:
        if shape.shape_type == MSO_CONNECTOR:
           print('it is a line')
           lines = lines + 1 

    return lines

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Хм, интересно.Похоже, мы оставили свойство .shape_type вне объекта Connector.Я добавлю проблему, чтобы исправить это.

Тем временем вы можете проверить отличительное свойство Connector, например .begin_x:

def is_connector(shape):
    """Return True if `shape` is a connector (line), False otherwise."""
    return hasattr(shape, "begin_x")
0 голосов
/ 02 июля 2019

Похоже, атрибут MSO_CONNECTOR должен использоваться для сравнения. например)

if shape.shape_type == MSO_CONNECTOR.STRAIGHT:
...