Aggiornamento MS Word (o Open Office), segnalibri con Python
Domanda
mi piacerebbe riempire i segnalibri MSWord da uno script python. Non riesco a trovare tali funzioni in win32com (pdf) o in PyUno (OpenOffice).
Qualcuno sa come utilizzare i segnalibri da Python?
Soluzione
Non trovate le funzioni in win32com, li trovate nella documentazione per l'oggetto COM che si sta utilizzando. In questo caso, che sarebbe Word.Application.
Si può vedere qualche codice Python di esempio che utilizza questo oggetto COM per creare un segnalibro s.
Il più recente Word Object Reference Model si trova qui a MSDN
Altri suggerimenti
Guarda questo esempio per il vostro problema:
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])
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow