使用Python创建Outlook宏

使用Python创建Outlook宏,python,vba,outlook,Python,Vba,Outlook,我想使用Win32 COM库在Python中创建Microsoft Outlook宏。我在互联网上找到了这个,但我发现的只是与Excel相关的东西,而不是Outlook,例如: 他们建议我打开Outlook: outlook = win32com.client.Dispatch("Outlook.Application") ns = outlook.GetNamespace("MAPI") ns.Logon(PROFILENAME) 但是,当我应该使用函数创建宏时,我不知道需要哪个对象。我

我想使用Win32 COM库在Python中创建Microsoft Outlook宏。我在互联网上找到了这个,但我发现的只是与Excel相关的东西,而不是Outlook,例如:

  • 他们建议我打开Outlook:

    outlook = win32com.client.Dispatch("Outlook.Application")
    ns = outlook.GetNamespace("MAPI")
    ns.Logon(PROFILENAME)
    
    但是,当我应该使用函数创建宏时,我不知道需要哪个对象。我的想法是:

    • 在Excel宏树中,您可以看到可以在 工作表,所以在Python中我称之为ActiveSheet
    • 相反,在Outlook宏树中,您可以看到已创建宏 在会话中,因此在Python中我应该调用会话
    所以我试着:

    xlmodule = outlook.Session.VBProject.VBComponents.Add(1)
    
    但我有一个错误:

        Traceback (most recent call last):
        File "C:/Users/cleo/PycharmProjects/SendAppointments/vba_script.py", line 21, in <module>
        xlmodule = outlook.Session.VBProject.VBComponents.Add(1)  
        File "C:\Python34\lib\site-packages\win32com\client\dynamic.py", line 527, in __getattr__
        raise AttributeError("%s.%s" % (self._username_, attr))
        AttributeError: <unknown>.VBProject
    
    回溯(最近一次呼叫最后一次):
    文件“C:/Users/cleo/PycharmProjects/sendaccessment/vba_script.py”,第21行,在
    xlmodule=outlook.Session.VBProject.VBComponents.Add(1)
    文件“C:\Python34\lib\site packages\win32com\client\dynamic.py”,第527行,在\uu getattr中__
    提高属性错误(“%s.%s%”(self.\u用户名,attr))
    AttributeError:.VBProject
    
    你的目标是什么?看起来
    会话
    是空的或什么的。相关:可能这里也有安全障碍。另外,你检查过了吗?这是否与Excel中的方法相同?(该文档适用于.Net.for COM,您需要从所有内容中删除“T:Microsoft.Office.Interop”前缀。)没有Outlook不支持动态更改编辑器中的代码。没有
    VBE
    对象,也没有
    VBProject
    VBComponents
    。是的,你可以用Excel,但不能用Outlook,我敢肯定。Outlook中的安全限制比Excel中的要严格得多。