Создание подклассов объектов win32com

Я запустил win32com makepy.main () в библиотеке объектов Microsoft PowerPoint, и она сгенерировала этот файл. Просмотр сгенерированных классов вместе с классами, найденными в документации по vba. Похоже, он создал классы для каждого отдельного объекта в библиотеке объектов PowerPoint.

Мой вопрос: смогу ли я создать подклассы этих классов? Если могу, как мне это сделать? Я не понимаю, как это будет работать. Я создаю подкласс объекта Slide, как мне сказать PowerPoint вернуть объект слайда подкласса? После запуска makepy была создана папка gen_py, в которой можно найти этот файл.


person Melendowski    schedule 25.01.2020    source источник
comment
Думаете, это вопрос Python?   -  person Rno    schedule 26.01.2020
comment
Это вопрос Python, но я пометил VBA, потому что он в некоторой степени с ним связан.   -  person Melendowski    schedule 26.01.2020
comment
Я даже не уверен, о чем вы спрашиваете (не имея опыта работы с Python), но вам, вероятно, следует включить тег Python, чтобы найти свою аудиторию.   -  person Rno    schedule 26.01.2020
comment
Хорошо, я поменял тег.   -  person Melendowski    schedule 26.01.2020
comment
Я думаю, что вы спрашиваете, можете ли вы заставить PowerPoint API возвращать какой-то настраиваемый объект? (В этом случае нет, это API, контракт, он возвращает то, что возвращает.)   -  person Rno    schedule 26.01.2020
comment
Думаю, я понимаю, о чем вы говорите. По сути, мне нужно делегировать эти объекты, а не пытаться создать их подкласс.   -  person Melendowski    schedule 26.01.2020
comment
Поскольку я не знаю ни Python, ни того, что именно вы пытаетесь выполнить, я не могу ответить на этот вопрос. Было бы полезно, если бы вы дали нам пример своих намерений, включая код, который вы пробовали.   -  person Rno    schedule 26.01.2020


Ответы (1)


Это потому, что вы используете раннее связывание с win32com. Всякий раз, когда вы используете раннее связывание, он автоматически генерирует файлы python, которые затем можно использовать для помощи в завершении кода и тому подобном.

Теперь вы задаете интересный вопрос о том, как мы можем subclass эти автоматически сгенерированные файлы. Проблема в том, что это может усложниться, потому что в некоторых случаях вы можете получить объект только в том случае, если родительский объект существует. Я обнаружил, что я должен автоматически сгенерировать все COM-объекты, существующие в объектной модели. Таким образом, если я вызову метод, который возвращает другой объект, я не получу этого сочетания между объектами с ранней и поздней привязкой.

В конце концов, я предполагаю, что именно вы пытаетесь сделать, когда subclass этот объект.

person areed1192    schedule 21.06.2020