Python - 如何使用python在word文档中嵌入OLE

时间:2017-08-02 11:29:08

标签: python

我们面临使用python脚本嵌入OLE字的问题。 以下是我们尝试过的例子。

ms_word = win32.gencache.EnsureDispatch('Word.Application')
ms_doc = ms_word.Documents.Add('mydoc.docx')

但是OLE没有嵌入到单词中。

使用下面的python脚本

成功地将OLE嵌入到Excel中
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open("test.xlsx")
ws = wb.Worksheets.Item(1)
objsws = ws.OLEObjects()

请帮助我们,如何使用python脚本将OLE嵌入到word中

1 个答案:

答案 0 :(得分:0)

我自己为此挣扎了很长一段时间,而且没有太多答案。就我而言,我需要在 Word 文档中嵌入 PDF 文档。对我来说需要注意的是,每个单词文档都是由 Python 使用 Python Docx(一个很棒的工具,顺便说一句!)动态生成的。这是我拼凑的解决方案:

word = win32.gencache.EnsureDispatch('Word.Application')
docpath = "C:\\temp\\lms\\test.docx" # Path to the Word doc
doc = word.Documents.Open(docpath)
word.Visible = False

doc.InlineShapes.AddOLEObject(FileName=fn, IconFileName='C:\\temp\\lms\\file_pdf.ico', 
            DisplayAsIcon=1, Range=doc.Tables(1).Cell(6,2).Range)

就我而言:

fn = 要嵌入的文件名

IconFileName = 如果要显示图标,这是要使用的图标图像。

DisplayAsIcon = T/F,不言自明

Range = 这是一只真正的熊,MSFT 关于范围的文档非常蹩脚。 就我而言,我将 PDF 插入到文档的第一个表格中,即单元格 6,2。

您可以在 Range 中使用其他方法,例如段落。

HTH