【问题标题】:Copying specific content from one word doc to another将特定内容从一个 word doc 复制到另一个
【发布时间】:2018-09-20 20:40:01
【问题描述】:

我正在尝试自动将特定内容从一个 word 文档(表格)复制到其他文档(表格),请参阅下图以了解我想要做什么。请就如何使其工作提出建议。如果可能的话,我对使用 python 或任何其他工具非常满意。提前致谢。

【问题讨论】:

    标签: python automation ms-word document copying


    【解决方案1】:

    如果你想使用 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。

    【讨论】:

    • 感谢您的清晰解释。我会更新 - 一旦我处理这个解决方案。再次感谢。
    • 一切正常。唯一的改变是使用 y_doc2.Tables(n2).Cell(x2,y2).Range.Text=my_doc1.Tables(n1).Cell(x1,y1).Range.Text。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    相关资源
    最近更新 更多