使用Python更新MS Word(或Open Office)书签

时间:2009-11-04 16:24:57

标签: python pywin32 win32com pyuno

我想从python脚本中填写MSWord书签。 我在win32com(MSWord)或PyUno(OpenOffice)中找不到这样的函数。

有谁知道如何使用Python中的书签?

2 个答案:

答案 0 :(得分:1)

您在win32com中找不到这些功能,您可以在正在使用的COM对象的文档中找到它们。在这种情况下,这将是Word.Application。

您可以看到some sample Python code that uses this COM object to create bookmark s。

最新Word Object Model Reference is found here at MSDN

答案 1 :(得分:0)

请查看此示例以了解您的问题:

def addText(self, bookmark):
    self.wordApp.ActiveDocument.Bookmarks(bookmark).Select()
    self.wordApp.Selection.TypeText(self.some_text)

# from pandas data frame into word table 
def addTable(self, bookmark, df):
    self.wordApp.ActiveDocument.Bookmarks(bookmark).Select()
     table = location.Tables.Add(location, len(df) + 1, len(df.columns), 1, 1)
    table.AutoFormat(40)
    for i, item in enumerate(df):
        table.Cell(1, i + 1).Range.InsertAfter(item)
        table.Cell(1, i + 1).Range.ParagraphFormat.Alignment = 1
    sel.SelectRow()
    sel.BoldRun()
    table.Rows(1).HeadingFormat = True
    for c in range(2, len(df) + 2):
        for r in range(1, len(df.columns) + 1):
            table.Cell(c, r).Range.ParagraphFormat.Alignment = 1
            if pd.isnull(df.ix[c - 2][r - 1]):
                continue
            table.Cell(c, r).Range.InsertAfter(df.ix[c - 2, r - 1])