1

我目前的代码是

mppApp = Dispatch("MSProject.Application")
try:
    mppApp.FileOpen(fileName)
    mppDoc = mppApp.ActiveProject
    core_props = mppDoc.BuiltinDocumentProperties

    for prop_name, core_prop_name in _CORE_PROPERTIES.iteritems():
        try:
            metadata[prop_name] = core_props(core_prop_name).Value
        except:
            metadata[prop_name] = ""

    for key in ['created', 'modified', 'printed']:
        if key in metadata and metadata[key]!="":
           metadata[key] = strftime("%m/%d/%Y %I:%M:%S %p", gmtime(int(metadata[key])))

    for prop_name, core_prop_name in _CORE_PROPERTIES.iteritems():
        print core_prop_name, "=", metadata[prop_name]

except:
    print fileName, "could not be opened"
mppApp.Quit(SaveChanges=0)
time.sleep(.1)

当我用这个自动 python 代码打开一个 .mpp 文件时,我有一个弹出窗口说

“现有注释中有多行文本。多行文本只能使用“任务信息”对话框的“注释”选项卡输入。如果更改表格中的注释,则除第一行之外的所有文本行,以及“

如果我在分派应用程序、打开文件并将文档设置为活动项目后退出,则不会出现此弹出窗口。一旦我抓住 BuiltinDocumentProperties 并尝试退出,就会出现弹出窗口。我想知道是否有办法用 python 接受这个弹出窗口。如果我尝试在弹出窗口中退出,我会收到一个 pywintypes.com_error 说呼叫被被呼叫者拒绝。

如果我手动接受弹出窗口,然后再次调用退出行,它将关闭 Microsoft Project 应用程序。

4

0 回答 0