【问题标题】:win32com Powerpoint Cannot Handle Spaces In Namewin32com Powerpoint 无法处理名称中的空格
【发布时间】:2018-03-09 11:36:41
【问题描述】:

我的一个项目需要通过 python 以只读方式打开各种 Microsoft Office 文档。虽然 win32com 的 Excel 和 Word 功能在处理包含空格的文档时从未遇到过问题,但 win32com PowerPoint 不允许这样做。

from win32com.client import Dispatch
Application = Dispatch("PowerPoint.Application")
Application.Visible = True
Test = Application.Presentations.Open("C:/Users/MYUSERNAME/Desktop/The Test.pptx", ReadOnly=True)

产生错误:

com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024894), None)

我目前的解决方案是重命名文件,用下划线替换空格,然后在打开文件后重命名。但是,这需要打开无标题的文档。

from win32com.client import Dispatch
import os
Application = Dispatch("PowerPoint.Application")
Application.Visible = True
Filename = 'The Test.pptx'
os.rename("C:/Users/MYUSERNAME/Desktop/" + Filename, "C:/Users/MYUSERNAME/Desktop/" + Filename.replace(" ","_"))
Test = Application.Presentations.Open("C:/Users/MYUSERNAME/Desktop/" + Filename.replace(" ","_"), ReadOnly=True, Untitled=True)
os.rename("C:/Users/MYUSERNAME/Desktop/" + Filename.replace(" ","_"), "C:/Users/MYUSERNAME/Desktop/" + Filename)

有没有更好的方法来做到这一点?

【问题讨论】:

  • 您使用的是哪个版本的 Python?正斜杠和空格在 Python 2.7.12 中运行良好

标签: python win32com


【解决方案1】:

使用反斜杠应该可以:

from win32com.client import Dispatch

def openfile():
    Application = Dispatch("PowerPoint.Application")
    Application.Visible = True
    Test = Application.Presentations.Open(r"C:\transfer\hello world.pptx", ReadOnly=True)

if __name__ == "__main__":
    openfile()

【讨论】:

    【解决方案2】:

    我猜如果您没有在字符串前面加上“r”,就会出现问题。 "r" 将告诉 python 将给定的字符串视为原始字符串。

    如果我试试这个对我有用:

    from win32com.client import Dispatch
    Application = Dispatch("PowerPoint.Application")
    Application.Visible = True
    Test = Application.Presentations.Open(r"C:\UsersMYUSERNAME\Desktop\The Test.pptx", ReadOnly=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2015-05-11
      • 2013-07-27
      • 2017-10-24
      • 2015-10-23
      • 2015-04-05
      相关资源
      最近更新 更多