1. 程式人生 > >python win32com 處理word 裡面表格的簡單方法

python win32com 處理word 裡面表格的簡單方法

在處理word裡面表格的時候,發現和網上的方法不太一樣,也不知道是不是python版本的問題

使用win32com處理Word裡面的表格時,表格的表示方法為Tables(1),括號裡面的數字表示word裡面的第幾個表格,而且是從1開始的,不是從0.

當寫Tables(0)時,提示錯誤  ret = self._oleobj_.InvokeTypes(0, LCID, 1, (9, 0), ((3, 1),),Index
pywintypes.com_error: (-2147352567, '發生意外。', (0, 'Microsoft Word', '集合所要求的成員不存在。', 'wdmain11.chm', 25421, -2146822347), None)。從Tables(1)開始就好了

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import win32com.client as win32
word = win32.gencache.EnsureDispatch('Word.Application')
word.Visible = 0
Ndoc = word.Documents.Add()
doc = word.Documents.Open('C:\\Users\\cch\\Desktop\\1.docx')
doc.Tables(0).Rows(1).Cells(1).Range.Text ='修改1'         #修改,原內容不儲存
doc.Tables(2).Rows(2).Cells(3).Range.Text ='修改2'
doc.Tables(1).Cell(3,4).Range.InsertAfter('Some text')      #插入,原內容保留

doc.Tables(1).Cell(3,5).Range.Text =('Some text')