python python-2.7 ms-word pywin32 win32com

Tabla de lectura Contet en encabezado y pie de página en archivo MS-Word usando Python



python-2.7 pywin32 (2)

Esta es mi pregunta extendida para la pregunta:

Cómo leer los contenidos de una tabla en un archivo MS-Word usando Python?

La solución proporcionada por @YusuMishi es genial, pero no capta los encabezados en el encabezado y el pie de página.

Permítanme dar más detalles sobre eso:

Usando el código

import win32com.client as win32 import os word = win32.Dispatch("Word.Application") word.Visible = 0 p = os.path.abspath("Catch my tables.docx") word.Documents.Open(p) doc = word.ActiveDocument print doc.Tables.Count

Me imprimiré 2 ( Table 1 y Table 2 )

¿Cómo reviso la información en la Table 0 y la Table N

Obtenga el documento aquí


Acceder a encabezados y pies de página es un poco complicado. Aquí está cómo hacerlo:

HeaderTable = doc.Sections(1).Headers(1).Range.Tables(1) FooterTable = doc.Sections(1).Footers(1).Range.Tables(1)

Puedes obtener el conteo de la mesa de esta manera:

HeaderTablesCount = doc.Sections(1).Headers(1).Range.Tables.Count FooterTablesCount = doc.Sections(1).Footers(1).Range.Tables.Count

Y obtenga el texto de las celdas de esta manera:

HeaderTable.Cell(1,1).Range.Text FooterTable.Cell(1,1).Range.Text


Lamentablemente, no soy programador de phyton , pero tengo cierto conocimiento de la jerarquía de VBA y objetos de MS-Word. Esto sería mucho texto para poner en comentario (donde preferiría poner este consejo).

Si busca en su tabla, debe analizar diferentes Document.StoryRanges para encontrar su tabla. Hay Footers y Headers pero también están divididos en diferentes tipos. Entonces, para encontrar la Tabla 0, podría usar algo de esta estructura:

This is VBA code!! I hope you could adjust to your needs. And do it separately for you footers.

doc.StoryRanges(wdEvenPagesHeaderStory).Tables.Count doc.StoryRanges(wdFirstPageHeaderStory).Tables.Count doc.StoryRanges(wdPrimaryHeaderStory).Tables.Count