我可以在文件中看到Win32api时将其导入

时间:2019-08-06 10:47:49

标签: python-3.x email winapi pywin32 win32com

总体而言,我对编码还比较陌生,我正在尝试自动发送使用Python定期发送的特定电子邮件的过程。我发现一些代码似乎可以实现我的目标,但是我无法正确导入win32api模块。

我正在使用PyCharm IDE,并且已经成功使用pip安装了win32。当我在site-packages \ win32下检查时,可以清楚地看到其中的win32api.pyd文件以及其他文件。但是,当我尝试导入它时,找不到它。 当我写的时候:

from win32 import

我唯一的选择是_win32sysloader

site-packages文件夹位于我的PYTHONPATH中,我已经能够以相同的方式导入openpyxl模块,但是这种方式不太合作。

这是我正在使用的代码:

import win32com.client
import win32

outlook = win32com.client.Dispatch(r"path\to\outlook.exe")
mail = outlook.CreateItem(0)
mail.To = "my@mail.com
mail.Subject = "Test"
mail.Body = "Mail"
mail.Send

最后,我要完成的工作是自动将电子邮件发送到带有特定文本字符串的特定地址。但是,当我运行此代码时,出现错误:ModuleNotFoundError:没有名为“ win32api”的模块 如果您对完成此操作有任何其他建议,我很乐意听到。

谢谢。

1 个答案:

答案 0 :(得分:0)

不需要Win32模块。

您没有正确使用layoutSubviews

  

自动化对象是公开方法和属性的COM对象   使用IDispatch接口。那么我们如何使用这些对象   蟒蛇? win32com.client软件包中包含许多模块   提供对自动化对象的访问。

     

要使用基于IDispatch的COM对象,请使用方法   win32com.client.Dispatch()。该方法作为其第一个参数   您要创建的对象的ProgID或CLSID。如果您阅读   Microsoft Outlook文档,您将找到ProgID   Outlook是Outlook.application,因此要创建一个接口对象   到Outlook。

您应该像这样修改它。

经过测试,它是有效的。

win32com.client.Dispatch

这将使用您的本地Outlook帐户。