Mar*_*ark 6 python vba ms-word win32com
我此刻很难过.基于我可以使用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)
Run Code Online (Sandbox Code Playgroud)
这是我的代码的相关部分.我现在能够解决所有问题(提示:如果你想用超过256个字符替换字符串,你必须通过剪贴板等来完成...)
也许您可以使用采用UNO组件技术的OpenOffice API。通过Python-UNO 桥接器,您可以连接到以无头模式运行的 OpenOffice 实例。查看教程即可开始使用。
对于您的场景来说,这可能有点过分了,但它是一个非常强大且灵活的解决方案。
| 归档时间: |
|
| 查看次数: |
1433 次 |
| 最近记录: |