Python 用win32com 操作 word 笔记

       现在有个活需要对一大批word进行修改。以前这些活都是人手工做的,但是现在人手紧啊,所以还是写个软件自己搞吧。写了这么多年Verilog,现在要重头学软件编程,头大大的。没办法,犹豫再多也没用,开始吧。

       Python上手比较方便,就用它了。软件开发就是查查查,抄抄抄,改改改。

      

       第一个问题是更改word文件中指定的某一段的某一个文字。从网上找来的代码如下:

import os

import win32com

from win32com.client import Dispatch

 

w = win32com.client.Dispatch('Word.Application')

w.Visible = 1

w.DisplayAlerts = 0

doc = w.Documents.Open(u'F:\\pythonlearning\\a.doc')

doc.Paragraphs(1).Range.Text = u'aaaa'

      结果第2段整段被删掉了,aaaa被填到了第三段上。

      使用下面代码来进行分析

 

import os

import win32com

from win32com.client import Dispatch

 

w = win32com.client.Dispatch('Word.Application')

w.Visible = 1

w.DisplayAlerts = 0

doc = w.Documents.Open(u'F:\\pythonlearning\\a.doc')

 

for paragraphs in doc.Paragraphs :

    print i

    print paragraphs.Range.Text

    i = i +  1

 

       从结果可以看出每个回车被定义为一个paragraph,那么当我执行

doc.Paragraphs(1).Range.Text = u'aaaa'

       软件先删掉了paragraph(1)的回车,这个时候Paragraphs(1)已经没有了,所以aaaa被加到第3段了

 

你可能感兴趣的:(Python 用win32com 操作 word 笔记)