none
Poner texto "tachado" entre corchetes "[ ]" en documento de Word

    Question

  • Hola a todos, a ver si podeis ayudarme. Neceisto poner entre corchetes ([]) las palabras que estén tachadas en un documentos de word, lo máximo que he podido hacer es que las borre, pero no he podido ponerlas entre corchetes, este es el codigo que llevo:

    Dim newWord As Word.Application = Nothing
            Dim newDocs As Word.Documents = Nothing
            Dim newDoc As Word.Document = Nothing
            newWord = New Word.Application()
            newDocs = newWord.Documents
            newDoc = newDocs.Open("C:\Prueba.doc")
            newDoc.Range.Tables(1).Columns(2).Select()
            newWord.Selection.Find.ClearFormatting()
            newWord.Selection.Find.Font.StrikeThrough = True
    
            With newWord.Selection.Find
                .Text = ""
                .Replacement.Text = ""
                .Forward = True
                .Wrap = Word.WdFindWrap.wdFindContinue
                .Format = True
                .MatchCase = False
                .MatchWholeWord = False
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
    
            End With
            newWord.Selection.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)
            newDoc.SaveAs("C:\Prueba.doc")
            newDoc.Close()
            newWord.Quit()
    Muchas gracias de antemano


    • Edited by pablormago Friday, April 12, 2013 4:34 PM
    Monday, April 08, 2013 10:39 AM

All replies

  • Nadie???? No encuentro más información y no se me ocurre como hacerlo....
    Monday, April 08, 2013 4:44 PM
  • Sub ScratchMacro()
    Dim oRng As Word.Range
    Set oRng = ActiveDocument.Range
    With oRng.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "*"
    .MatchWildcards = True
    .Font.StrikeThrough = True
    .Replacement.Text = "[" & .Text &"]"
    .Execute Replace:=wdReplaceAll
    End With
    End Sub

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    Monday, April 08, 2013 4:53 PM
  • Podrías poner un link a tu documento word. He intentado ejecutar el codigo que has puesto sobre uno mío y me da error en la linea:

     newWord.Selection.Find.ClearFormatting()


    "Option Strict On" no es opcional, es necesario.

    Monday, April 08, 2013 5:02 PM
  • Sub ScratchMacro()
    Dim oRng As Word.Range
    Set oRng = ActiveDocument.Range
    With oRng.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "*"
    .MatchWildcards = True
    .Font.StrikeThrough = True
    .Replacement.Text = "[" & .Text &"]"
    .Execute Replace:=wdReplaceAll
    End With
    End Sub

    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    No funciona, me sustituye el texto tachado por "[*][*][*][*][*][*][*][*][*]"


    Monday, April 08, 2013 5:12 PM
  • Sub ScratchMacro()
    Dim oRng As Word.Range
    Set oRng = ActiveDocument.Range
    With oRng.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "*"
    .MatchWildcards = True
    .Font.StrikeThrough = True
    .Replacement.Text = "[" & .Text &"]"
    .Execute Replace:=wdReplaceAll
    End With
    End Sub


    Si se solucionó tu consulta no olvides marcar la respuesta. Saludos

    No funciona, me sustituye el texto tachado por "[*][*][*][*][*][*][*][*][*]"


    El problema creo que está en estas 2 líneas:

    .Text = "*"
    .Replacement.Text = "[" & .Text &"]"

    Pero no consigo hacerlo funcionar, me sustituye el texto tachado por "[*][*][*][*][*][*][*][*][*]

    Monday, April 08, 2013 6:51 PM
  • Ayuda por favor!!
    Friday, April 12, 2013 3:22 PM