python - 从 Python 访问 Microsoft Office 事件(Microsoft.Office.Interop.PowerPoint equiv lib?)
问题描述
我希望用 python 而不是 C# 实现 Scott Hanselman 的PowerPoint 到 OBS 场景切换器,因为我不知道 C#,不想在我的 Mac 上安装 .NET,只想在 python 中完成。我有一种感觉,与学习 C# 相比,我会在 .NET 方面遇到更多困难,因为该语言在语法上看起来非常简单。
我坚持实施的问题是 C# 代码使用 Microsoft.Office.Interop.PowerPoint 来检测 PowerPoint 发出的 SlideShowNextSlide 事件,但它是一个内部事件。
我已经搜索但无法找到允许类似访问的 python 库。有人知道吗?
希望似乎更多地采用 python 的 Microsoft 将创建该库,但将其保留在 C# 中也可以确保将一些捕获返回到 .NET。
解决方案
简短的回答可能是“否”,除非您计算使用 IronPython 访问 Windows 机器上正在运行的 PowerPoint 应用程序实例之间的“实时”连接。
python-pptx
读取和写入 PPTX文件,但与正在运行的 PowerPoint 实例没有连接,就像在 Windows 下运行的 VBA 一样。因此,它不会知道正在运行的 PowerPoint 应用程序中发生了什么,例如“我现在要切换到幻灯片 X”事件。
IronPython 方法可能会奏效,但由于缺乏有关 Microsoft PowerPoint 对象模型如何映射到 Python 对象名称的文档,这很难做到。基本上每一行都很难以某种方式对如何访问您感兴趣的对象进行逆向工程。如果该环境对您有吸引力,可能值得一试。
推荐阅读
- shiny - 图像不会出现在 Shiny App 的 www 文件夹中
- docker - 如何在 dockerfile 中传递运行时参数?
- python - 使用 HTMLParser 获取带引号的属性
- javascript - HTML 表单输出格式(使用 JavaScript)
- database - spring boot 不同的微服务实例和数据完整性
- wpf - 在 Shell.xaml 中创建区域期间出现 KeyNotFoundException
- qt - 如何在 Qt Widgets 应用程序中使用阻塞的 UI 线程运行动画?
- css - 如何将背景图像的中心点向下移动?
- javascript - 如何将模型中的数据获取到 JavaScript 函数中?
- python - 使用 R 和 Python 的不同多项式回归系数