[英]How do I capitalize all occurrences of the word 'I' in a string? Python
[英]How do I search & replace all occurrences of a string in a ms word doc with python?
我此刻很難過。 基於我可以使用Win32 COM替換word文檔中的文本嗎? 我能夠編寫一個簡單的模板系統,用模板文字doc(在Python中)生成word文檔。
我的問題是“文本字段”中的文字找不到那種方式。 即使在Word本身也無法搜索所有內容 - 您實際上必須在“主文檔”和“文本字段”之間進行選擇。 作為Windows世界的新手,我嘗試瀏覽VBA文檔,但沒有找到任何幫助(可能是由於“文本字段”是一個非常常見的術語)。
word.Documents.Open(f)
wdFindContinue = 1
wdReplaceAll = 2
find_str = '\{\{(*)\}\}'
find = word.Selection.Find
find.Execute(find_str, False, False, True, False, False, \
True, wdFindContinue, False, False, False)
while find.Found:
t = word.Selection.Text.__str__()
r = process_placeholder(t, answer_data, question_data)
if type(r) == dict:
errors.append(r)
else:
find.Execute(t, False, True, False, False, False, \
True, False, False, r, wdReplaceAll)
這是我的代碼的相關部分。 我現在能夠解決所有問題(提示:如果你想用超過256個字符替換字符串,你必須通過剪貼板等來完成...)
也許您可以使用UNO組件技術來使用OpenOffice API 。 使用Python-UNO橋,您可以連接到以無頭模式運行的OpenOffice實例。 看一下教程即可開始使用。
這可能對您的場景來說太過分了,但它是一個非常強大且靈活的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.