標籤:
在這裡,會用到win32com模組
模組:http://sourceforge.net/projects/pywin32/files/pywin32/
代碼如下:
import win32comfrom win32com.client import Dispatch, constantsppt = win32com.client.Dispatch(‘PowerPoint.Application‘)ppt.Visible = 1pptSel = ppt.Presentations.Open(r"C:\Users\Victor\Desktop\1.ppt")win32com.client.gencache.EnsureDispatch(‘PowerPoint.Application‘) f = file(r"C:\Users\Victor\Desktop\1.txt","w")slide_count = pptSel.Slides.Countfor i in range(1,slide_count + 1): shape_count = pptSel.Slides(i).Shapes.Count print shape_count for j in range(1,shape_count + 1): if pptSel.Slides(i).Shapes(j).HasTextFrame: s = pptSel.Slides(i).Shapes(j).TextFrame.TextRange.Text f.write(s.encode(‘utf-8‘) + "\n") f.close()ppt.Quit()
PS:
1> 在開啟檔案的時候,剛開始寫的是pptSel = ppt.Presentations.Open("C:\Users\Victor\Desktop\1.ppt"),報如下錯誤:
>>> pptSel=ppt.Presentations.Open("C:\Users\Victor\Desktop\1.ppt")Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<COMObject <unknown>>", line 3, in Openpywintypes.com_error: (-2147352567, ‘\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3‘,(0, None, None, None, 0, -2147024773), None)
錯誤的主要原因為路徑中的反斜線無法自動識別。
2> 該程式段來自 http://www.sharejs.com/codes/python/8145
如何用Python輸出PPT中的文字資訊