Macro VBA para limpiar texto de PDF a DOC o Txt 🥇 Foro Lenguajes de programacion y Bases de Datos 🗺️

Foro de Lenguajes de programacion y Bases de Datos Foro de Lenguajes de programacion y Bases de Datos: Lenguajes de programacion, Bases de Datos, Sistemas Operativos y recursos tecnicos avanzados.
Responder al tema Versión Imprimible
Página 1 de 1 - Tema con 1 Mensajes y 9655 Lecturas
Último Mensaje:
Autor Mensaje

Imagen: Aforo
Experto
Experto
Registrado:
13-02-2008
Mensajes: 137

Votos: 0 👍
Responder citando

EnlacesAsunto: Macro VBA para limpiar texto de PDF a DOC o Txt

Publicado:
Macro VBA para Word que limpia retornos de carro anómalos en texto procedente de Word. No es perfecta pero al menos hace el 90% del trabajo.

Code::

Sub JoinLowercaseLine()
' Macro Word para limpiar retornos de carro de texto de PDF
    Rem PASO 1. Sustituir espacios de no separación por espacios normales.
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^s"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Rem PASO 4.1 Elimino espacios antes de minuscula.
    With Selection.Find
        .Text = "[^13^l^t] {1;}([a-z])"
        .Replacement.Text = "\1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
' Mio
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^phttp"
        .Replacement.Text = "^pWeb: http"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^pwww"
        .Replacement.Text = "^pWeb: www"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
' fin mio

    Rem PASO 2. Segundo, unimos a la anterior linea las lineas que empiezan por lowercase (minuscula).
    With Selection.Find
        .Text = "([^13^l^t])([a-z])"
        .Replacement.Text = " \2"
        ' .Replacement.Text = "\1$popo$\2"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
    Rem PASO 3. Eliminar todos los espacios redundantes.
    With Selection.Find
        .Text = "( ){1;}"
        .Replacement.Text = "\1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Ir arriba Aforo
Compartir:
Mostrar mensajes de anteriores:
Responder al tema Versión Imprimible
Página 1 de 1 - Tema con 1 Mensajes y 9655 Lecturas - Última modificación: 16/02/2018


RSS: Foro Lenguajes de programacion y Bases de Datos RSS - Últimos Mensajes
Cambiar a:  


Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
No Puedes adjuntar archivos en este foro
Tu puedes descargar archivos en este foro



Mostrar/Ocultar Add