我目前的代码是
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 应用程序。