0

I'd like to fill MSWord bookmarks from a python script. I can't find such functions in win32com(MSWord) or in PyUno(OpenOffice).

Does anyone know how to use bookmarks from Python?

4

2 に答える 2

1

win32comには関数がありません。使用しているCOMオブジェクトのドキュメントにあります。この場合、それはWord.Applicationになります。

このCOMオブジェクトを使用してブックマークを作成するサンプルPythonコードをいくつか見ることができます。

最新のWordオブジェクトモデルリファレンスは、MSDNにあります。

于 2009-11-04T16:54:43.550 に答える
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])
于 2014-07-30T06:38:07.893 に答える