Python win32com

Edit


Python太强大了,使用其Win32库可以操作所有的Windows应用程序。例如我们在做Dashboard生成器的时候,使用win32com来操作Excel和PPT来获得数据,并更新PPT文件。在初期,我们采用python的xlrd和pptx来操作Excel和PPT,但是发现功能局限性很大,在后来的开发中,我发现xlrd和pptx不仅功能不行,效率也极其低下,远远慢于win32com。唯一的好处就是,其可以跨平台,而不依赖于Windows操作系统。但这一点对我毫无吸引力。

网上使用win32com的文档不是很多,找到下面这篇,讲操作PPT的,入门还是不错的

其他的可以参考微软的VBA文档,每一个COM object都有其对应的属性列表和方法列表。

一些经验

  1. 大多数COM中的索引值都是从1开始
  2. Excel分为Workbook->Worksheet->ListObjects / ChartObjects

其实可以单独写一篇如何操作PPT和EXCEL,苦于没有时间
EXCEL里面有一些核心概念,都是通过PDB尝试才慢慢得来。例如Range,AutoFIlter,ListObject。先列在这儿,待有时间再慢慢补充。

%23Python%20win32com%0A@%28%u5B66%u4E60%u7B14%u8BB0%29%5Bpython%2C%20win32com%5D%0APython%u592A%u5F3A%u5927%u4E86%uFF0C%u4F7F%u7528%u5176Win32%u5E93%u53EF%u4EE5%u64CD%u4F5C%u6240%u6709%u7684Windows%u5E94%u7528%u7A0B%u5E8F%u3002%u4F8B%u5982%u6211%u4EEC%u5728%u505ADashboard%u751F%u6210%u5668%u7684%u65F6%u5019%uFF0C%u4F7F%u7528win32com%u6765%u64CD%u4F5CExcel%u548CPPT%u6765%u83B7%u5F97%u6570%u636E%uFF0C%u5E76%u66F4%u65B0PPT%u6587%u4EF6%u3002%u5728%u521D%u671F%uFF0C%u6211%u4EEC%u91C7%u7528python%u7684xlrd%u548Cpptx%u6765%u64CD%u4F5CExcel%u548CPPT%uFF0C%u4F46%u662F%u53D1%u73B0%u529F%u80FD%u5C40%u9650%u6027%u5F88%u5927%uFF0C%u5728%u540E%u6765%u7684%u5F00%u53D1%u4E2D%uFF0C%u6211%u53D1%u73B0xlrd%u548Cpptx%u4E0D%u4EC5%u529F%u80FD%u4E0D%u884C%uFF0C%u6548%u7387%u4E5F%u6781%u5176%u4F4E%u4E0B%uFF0C%u8FDC%u8FDC%u6162%u4E8Ewin32com%u3002%u552F%u4E00%u7684%u597D%u5904%u5C31%u662F%uFF0C%u5176%u53EF%u4EE5%u8DE8%u5E73%u53F0%uFF0C%u800C%u4E0D%u4F9D%u8D56%u4E8EWindows%u64CD%u4F5C%u7CFB%u7EDF%u3002%u4F46%u8FD9%u4E00%u70B9%u5BF9%u6211%u6BEB%u65E0%u5438%u5F15%u529B%u3002%0A%0A%u7F51%u4E0A%u4F7F%u7528win32com%u7684%u6587%u6863%u4E0D%u662F%u5F88%u591A%uFF0C%u627E%u5230%u4E0B%u9762%u8FD9%u7BC7%uFF0C%u8BB2%u64CD%u4F5CPPT%u7684%uFF0C%u5165%u95E8%u8FD8%u662F%u4E0D%u9519%u7684%0A-%20%5B%5BPython%5D%20win32com%20PowerPoint%20%AB%20ibluemonkey%27s%20Note%5D%28https%3A//app.yinxiang.com/shard/s10/nl/161681/d5ac6ed2-19a4-435d-9b98-69db9ae0107c%29%0A%0A%u5176%u4ED6%u7684%u53EF%u4EE5%u53C2%u8003%u5FAE%u8F6F%u7684VBA%u6587%u6863%uFF0C%u6BCF%u4E00%u4E2ACOM%20object%u90FD%u6709%u5176%u5BF9%u5E94%u7684%u5C5E%u6027%u5217%u8868%u548C%u65B9%u6CD5%u5217%u8868%u3002%0A-%20%5B%u5BF9%u8C61%u6A21%u578B%uFF08PowerPoint%20VBA%20%u53C2%u8003%uFF09%5D%28https%3A//msdn.microsoft.com/zh-cn/library/office/ff743835.aspx%29%0A%0A%23%23%u4E00%u4E9B%u7ECF%u9A8C%0A1.%20%u5927%u591A%u6570COM%u4E2D%u7684%u7D22%u5F15%u503C%u90FD%u662F%u4ECE1%u5F00%u59CB%0A2.%20Excel%u5206%u4E3AWorkbook-%3EWorksheet-%3EListObjects%20/%20ChartObjects%0A%0A%u5176%u5B9E%u53EF%u4EE5%u5355%u72EC%u5199%u4E00%u7BC7%u5982%u4F55%u64CD%u4F5CPPT%u548CEXCEL%uFF0C%u82E6%u4E8E%u6CA1%u6709%u65F6%u95F4%0AEXCEL%u91CC%u9762%u6709%u4E00%u4E9B%u6838%u5FC3%u6982%u5FF5%uFF0C%u90FD%u662F%u901A%u8FC7PDB%u5C1D%u8BD5%u624D%u6162%u6162%u5F97%u6765%u3002%u4F8B%u5982Range%uFF0CAutoFIlter%uFF0CListObject%u3002%u5148%u5217%u5728%u8FD9%u513F%uFF0C%u5F85%u6709%u65F6%u95F4%u518D%u6162%u6162%u8865%u5145%u3002