我試圖在Python中使用win32com.client來查找和替換,以替換word文檔中的兩個字符串。基本上我的測試文檔有'名字'&'姓',並且由此我創建一個新文檔,用'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()
可以在此是更換= 1只替換第一次出現? – oleg
msdn指出replace指定要做多少次替換:one,all或none。我嘗試了替換= 2,並做到了這一點。謝謝!! – KFP