代码之家  ›  专栏  ›  技术社区  ›  Jean-Francois T.

使用Python和“win32com”,如何打开RTF文件而不出现要求转换的弹出窗口?

  •  0
  • Jean-Francois T.  · 技术社区  · 2 年前

    在MS Word中打开RTF文档时,Word通常会显示一个弹出窗口,要求转换(包括RTF在内的不同格式)。

    因此,当使用打开同一文件时 win32com ,您需要手动单击MS Word的图标,或者切换到打开的MS Word(显示此弹出窗口),然后单击 好啊 。这打破了自动化流程。

    我目前拥有的代码是这样的:

    from pathlib import Path
    from win32com import client, __gen_path__
    
    rtf_file = Path(...)
    
    word = client.gencache.EnsureDispatch("Word.Application")
    doc = word.Documents.Open(str(rtf_file.absolute()))
    doc.Activate()
    

    如何绕过这个弹出窗口来自动处理RTF文件?

    1 回复  |  直到 2 年前
        1
  •  0
  •   Jean-Francois T.    2 年前

    您实际上可以停用警报并将 False 的第一个论点 Open 方法,即 ConfirmConversions

    from pathlib import Path
    from win32com import client, __gen_path__
    
    rtf_file = Path(...)
    
    word = client.gencache.EnsureDispatch("Word.Application")
    word.DisplayAlerts = True
    doc = word.Documents.Open(str(rtf_file.absolute()), False)
    doc.Activate()
    

    注意:您可以使用 help(word.Documents.Open)