0

Python で検索と置換を使用して win32com.client を使用して、Word ドキュメント内の 2 つの文字列を置き換えようとしています。基本的に、私のテスト ドキュメントには「First Name」と「Last Name」があり、そこから 2 つを「John」と「Smith」に置き換える新しいドキュメントを作成していますが、名だけが変更されます。私はpythonが初めてなので、明らかに間違っていると確信しています。私はしばらくこれに携わってきたので、どんな助けでも大歓迎です。

import win32com.client

word = win32com.client.DispatchEx("Word.Application")
word.Visible = True
word.DisplayAlerts = 0
word.Documents.Open("C:\TEMP\Test.docx")

def replace(find_str, replace_str):
    find = word.Selection.Find
    find.Text = find_str
    find.Replacement.Text = replace_str
    find.Execute(Replace=1, Forward=True)

replace('First Name', 'John')

replace('Last Name', 'Smith')

word.ActiveDocument.SaveAs('C:\TEMP\Test2.docx')
word.Quit()    
4

2 に答える 2

0

あなたはできる

o = open("C:\TEMP\Test.docx","a") #open for append
for line in open("file"):
   line = line.replace("someword","newword") # set your own names here
   o.write(line + "\n") 
o.close()

replaceしたがって、メソッドを再定義する必要はありません。

于 2013-05-17T14:35:10.723 に答える