Tengo un problema bastante inusual. Tengo un archivo de MS Word (creado por Adobe Acrobat, el original era un PDF) que contiene varios cuadros de texto. El contenido de estos cuadros de texto debe analizarse para poder importarlo a una base de datos. El texto en el documento PDF está formateado en 2 columnas. Lamentablemente, la conversión de archivos en Adobe Acrobat no inserta un retorno de carro después de cada línea. Como resultado, cuando el DOCX se guarda como un archivo de texto, el texto se desordena. La conversión de archivos en Word, la opción "agregar líneas finales", no funciona para cuadros de texto o marcos de texto. Transformar todos los cuadros de texto en texto de párrafo también desordena el texto. En mi opinión, es la mejor manera de resolver esto, una macro vba que reconoce cada final de línea automático en cualquier cuadro de texto en el documento e inserta un retorno de carro. Sin embargo, yo' He intentado hacer esto con el marcador predefinido "\ line" pero tampoco parece funcionar en cuadros de texto. Sigo recibiendo un error "El objeto se elimina", que no ocurre si solo se selecciona el texto del párrafo (no en un cuadro de texto).
Sub ChangeAutoLineBreaks()
Dim r As Word.Range
Set r = Selection.Range
Selection.Collapse direction:=wdCollapseStart
Do Until Selection.End > r.End
Selection.Bookmarks("\Line").Select
If Right(Selection, 1) = " " Then
Selection.SetRange Selection.End - 1, Selection.End
Selection.Delete
Selection.Text = vbCr
Selection.Bookmarks("\Line").Select
Selection.Collapse direction:=wdCollapseStart
End If
Selection.MoveDown wdLine, 1, False
Loop
' reselect our original selection
r.Select
Set r = Nothing
End Sub
He probado otras herramientas de migración de archivos (pdf> docx o pdf> txt), pero obtuve el mejor resultado si la conversión de archivos se realiza utilizando MS Word como un bypass.
¿Alguien tiene algún consejo sobre cómo puedo hacer que esto funcione para mí en Word?
Captura de pantalla que describe el problema
¡Gracias!
Peter