簡體   English   中英

從 Python 調用 PowerPoint 宏 Function

[英]Call PowerPoint Macro Function from Python

我想知道如何讓 python 調用 PowerPoint VBA function? 假設我在同一文件夾中有以下文件:

python.py powerpoint.pptm

在 powerpoint 中它是空白的,除了我有 1 個模塊調用“module1”和 1 個 function 調用“main”,它不包含任何 arguments。主要的 function 只是打開一個消息框並打印“Hello World”

這是我在 Python 中所擁有的:

import os, os.path
import win32com.client

if os.path.exists(os.getcwd() + "\powerpoint.pptm"):
    ppt=win32com.client.Dispatch("PowerPoint.Application")
    ppt.Presentations.Open(os.getcwd() + "\powerpoint.pptm")

    # The code above worked and open up the powerpoint, but the code below does not work
    ppt.Application.Run("powerpoint.pptm!module1.main")

給出的錯誤代碼是:

638         # no where else to look.

--> 639 raise AttributeError("%s.%s" % ( self.username , attr)) 640 641 def setattr (self, attr, value):

屬性錯誤:PowerPoint.Application.Application

就我個人而言,我什至懷疑我是否在正確的道路上讓它發揮作用。 另外,上面的 python 代碼是從運行 Excel 宏的代碼中取出來的,並進行了修改。 但是,它不起作用,如果有人可以幫助我,我會很高興。 謝謝!

你只需要 ppt.Run 而不是 ppt.Application.Run

import os, os.path
import win32com.client

if os.path.exists(os.getcwd() + "\powerpoint.pptm"):
    ppt=win32com.client.Dispatch("PowerPoint.Application")
    ppt.Presentations.Open(os.getcwd() + "\powerpoint.pptm")

    ppt.Run("powerpoint.pptm!module1.main")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM