使用Python打开Outlook

6 投票
3 回答
19268 浏览
提问于 2025-04-17 05:37

我正在尝试用Python打开Outlook,但遇到了这个问题...

import win32com.client
ol = win32com.client.Dispatch("outlook.Application")

它确实打开了Outlook,但我的问题是它只在Windows的通知区域(就是时钟那块)打开,而没有在屏幕上显示出来。我试过一个...

OL.visible= True

但是我收到一个错误,提示Outlook应用程序无法设置为可见。所以我想问一下,怎么才能把Outlook调出来,或者把它最大化到全屏呢?

3 个回答

0

你也可以使用 psutil 来检查 Outlook 是否正在运行

import psutil

def is_outlook_running():
    for p in psutil.process_iter(attrs=['pid', 'name']):
        if "OUTLOOK.EXE" in p.info['name']:
            print("Yes", p.info['name'], "is running")
            break
    else:
        print("No, Outlook is not running")
        os.startfile("outlook")
        print("Outlook is starting now...")
0

你有没有看到这个StackOverflow上的问题? 那里的解决办法是通过命令行启动Outlook,然后连接到正在运行的进程。虽然这听起来有点不太干净,但我也曾因为急需而用过类似的方法来处理其他程序。我本来希望微软的Office在使用COM时能更友好一些。

我在想,是否可以做一些类似于微软示例这里的事情。

Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNameSpace("MAPI")
Set myFolder= _
    myNameSpace.GetDefaultFolder(olFolderInbox)
myFolder.Display

我没有安装Outlook,所以无法测试任何东西。

10

好的,我发现这个方法简单得很,效果很好……

import os
os.startfile("outlook")

它会把窗口变成一个大窗口,而不是一个最小化的窗口。

撰写回答