2011-11-03 15 views
5

Tengo una carpeta con 40-50 documentos de Microsoft Word.Extracción de datos del cuadro de texto de varios archivos de Microsoft Word

Cada documento de Word está estructurado de la siguiente manera: - Hay varias tablas con dos columnas - La segunda columna contiene la pregunta, y al final de cada pregunta hay un identificador único (por ejemplo, "< # Q123 # > ") - En la misma celda que contiene la pregunta, hay un cuadro de texto después del identificador único que contiene la respuesta a la pregunta

Estoy intentando desarrollar una macro en Microsoft Word que abrirá cada documento de Word en la carpeta, busque el cuadro de texto que está inmediatamente después del identificador único especificado y péguelo en el nuevo archivo que tiene la macro.

Si fuera posible extraer los datos de los cuadros de texto en un archivo de Excel en lugar de copiar y pegar los cuadros de texto en un documento de Word, sería preferible, pero no estaba seguro de si eso fuera posible (ya que algunos de los cuadros de texto puede contener

Respuesta

3

las respuestas que figuran here y here usted puede mostrar que para obtener todos los archivos de la carpeta.

el siguiente código VBA se puede utilizar para recuperar el texto de la segunda columna de la tabla, así como el texto en la forma (cuadro de texto) que está en esa misma celda. La declaración On Error Resume Next está en su lugar para mantener el código r unning si no se encuentra la forma (cuadro de texto) en la celda de la tabla.

Dim cll As Cell 
Dim question As String 
Dim answer As String 
Dim tbl As Table 

'Gets the first table in the active document. 
'In your code you would assign the Word document that you have 
'just opened to a document variable. 
Set tbl = ActiveDocument.Tables(1) 

On Error Resume Next 
For i = 1 To tbl.Rows.Count 
    Set cll = tbl.Cell(i, 2) 

    question = cll.Range.Text 
    answer = cll.Range.ShapeRange.TextFrame.TextRange.Text 

    'Once you have these two strings, you can do whatever you want with them.   
Next 
Cuestiones relacionadas