2016-11-16 3 views
1

MSWord文書のシリアルを編集する作業があります。私がしなければならないことは、各文書のパラグラフ3の言葉を変えることです。私はこの仕事を終了するためにPythonを使いたいと思う。この文書では、段落3の直下の表があります。問題は、段落3の単語を変更すると、段落3が表示され、入力した単語が下の表の中に入るということです。win32comを使用してMSWord内の特定の段落の単語を編集する方法

私のコードは

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(3).Range.Text = 'Y\n' 
+0

'print doc.Paragraphs(3).Range.Text'を実行すると、何が起こっているのかを診断するのに役立ちます。 – xidgel

+0

あなたは正しいです。私は "doc.Paragraphsの段落"を使用してすべての文書を印刷し、各段落が改行を意味することを確認します。したがって、段落(3)を変更すると、最初に段落(3)の改行が削除され、下の表は段落(3)になります。 –

答えて

0

インデックスは、おそらくそう第三段落のdoc.Paragraphs(2)を使用して0から始まるです。

+0

はい、そうです。 –

0
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(3).Range.InsertBefore ('Y\n') 
doc.Paragraphs(4).Range.Text = '' 

しかし、これは最善の方法ではありません。

関連する問題