【发布时间】:2018-09-20 20:40:01
【问题描述】:
我正在尝试自动将特定内容从一个 word 文档(表格)复制到其他文档(表格),请参阅下图以了解我想要做什么。请就如何使其工作提出建议。如果可能的话,我对使用 python 或任何其他工具非常满意。提前致谢。
【问题讨论】:
标签: python automation ms-word document copying
我正在尝试自动将特定内容从一个 word 文档(表格)复制到其他文档(表格),请参阅下图以了解我想要做什么。请就如何使其工作提出建议。如果可能的话,我对使用 python 或任何其他工具非常满意。提前致谢。
【问题讨论】:
标签: python automation ms-word document copying
如果你想使用 python,那么你可以使用 win32com 库(参见 Chun, Wesley J. Core Python Applications Programming (Core Series) Chapter 7)。
import win32com.client as win32
随后
word = win32.gencache.EnsureDispatch('Word.Application')
my_doc=word.Documents.Open(<path and document name>)
my_doc.Visible=True ' leave out if you don't need to see the documents.
如果您使用合适的 IDE,您将拥有 Word 对象库的智能感知
对于单词表对象,您可以使用以下方法访问单元格中的文本
my_doc.Tables(n).Range.Cell(x,y).range.text
在哪里
n 是一个整数,表示从 1 到 my_doc.Tables.Count 范围内的表的序号
x,y是表格中单元格的行、列坐标。
如果表格不统一,则必须使用 cells(m) 语法,其中 m 在 1 到 my_doc.Tables.Range.Cells.Count 的范围内。
从一个表复制到另一个用途
my_doc2.Tables(n2).range.cell(x2,y2).range.text=my_doc1.Tables(n1).range.cell(x1,y1).range.text
或
my_doc2.Tables(n2).range.cells(m2).range.text=my_doc1.Tables(n1).range.cells(m1).range.text
(当然对于上面的m1和m2会有不同的偏移量)
此外,当您显示似乎存在三个目标时,您将需要适当的目标表 n2_1、n2_2、n2_3。
【讨论】: