Busqueda y reemplazo de texto en múltiples archivos ?

10/12/2008 - 21:53 por Orlando | Informe spam
Buenas, les agradecería su orientación para buscar y reemplazar uno o varios
strings de texto en archivos WORD 2003 abiertos simultáneamente, sin
necesidad de tener que editar uno a uno.

Gracias !!!

Preguntas similare

Leer las respuestas

#11 Monica May
19/12/2008 - 14:14 | Informe spam
Hola Orlando,

- Los archivos estan distribuidos en un servidor con hasta siete niveles
por
debajo de la raiz y en multiples carpetas, segun clasificación del Acta.

- La protección se efectuo en Restriccion de Edicion -> rellenando
formularios por herramientas.





Bien ves mirando el codigo siguiente >>

Como sustituir una palabra por otra en multiples documentos a la vez (Word)
codigo de Doug Robbins
http://www.fermu.com/lang-es/articu...office/461

haz las pruebas en local en varios archivos y demas para ir probando y esta
tarde te la modifico para anadir las protecciones y desprotecciones ,
cambios de mayusculas-minusculas etc..

Comenatanos cualquier duda y demas.

Saludos
Monica


- El codigo expuesto -
Sub MayusMinus()
' MayusMinus Macro
' Macro grabada el 16/12/2008 por omontezuma
' Cambia el nombre especificado a letras minúsculas
Selection.Document.Unprotect
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "FILOMENA NAPOLITANO S."
.Replacement.Text = "Filomena Napolitano S."
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = True
.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 = "Tecnología creado"
.Replacement.Text = "Tecnología, creado"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Selection.Document.Protect Type:=wdAllowOnlyFormFields, NoReset:=True
Selection.Document.Save
Selection.Document.Close
End Sub

Respuesta Responder a este mensaje
#12 Monica May
23/12/2008 - 23:26 | Informe spam
Hola Orlando

Los archivos estan distribuidos en un servidor con hasta siete niveles
por
debajo de la raiz y en multiples carpetas, segun clasificación del Acta.
La proteccion se efectuo en Restriccion de Edicion -> rellenando
formularios por herramientas.



Bien Teniendo en cuenta que las carpetas donde estan los archivos tienen
control total sobre dicha carpeta ya que la vas a emplear para archivos que
estan en red ...

No esta controlado el error para el caso de que dentro de esas carpetas
tuvieras archivos que no son en formato [ .doc ] tanto para archivos de red
como para arhivos locales . ni tampoco si esas carpetas No tienen los
permisos necesarios para escritura

Prueba el siguiente y .


'[]

Public Sub SustituirTextoTodosDocumentos()
'modificacion del codigo de Doug Robbins
Dim x As Boolean, ruta As String, archivos As String, _
myDoc As Document, rango As Word.Range, buscar As String
Dim reemplazo

With Dialogs(wdDialogCopyFile)
If .Display <> 0 Then
archivos = .Directory
Else: MsgBox "Cancelado"
Exit Sub: End If
End With
x = 1
If Left(archivos, 1) = """" Then _
archivos = Mid(archivos, 2, Len(archivos) - 2)
ruta = Dir$(archivos & "*.doc")
While ruta <> ""
If x Then
buscar = InputBox("texto a buscar", "Buscando...")
If buscar = "" Then MsgBox "Cancelado": Exit Sub
reemplazo = InputBox("texto de reemplazo", "reemplazando...")
If reemplazo = "" Then MsgBox "exit...": Exit Sub
End If
x = 0
Set myDoc = Documents.Open(archivos & ruta)
If myDoc.ProtectionType <> wdNoProtection Then _
myDoc.Unprotect
With myDoc.Range.Find
.Text = buscar
.Replacement.Text = reemplazo
.Execute Replace:=wdReplaceAll
End With
myDoc.Protect (wdAllowOnlyFormFields)
myDoc.Close Savechanges:=wdSaveChanges
ruta = Dir$()

Wend


End Sub

'[]


.Comentanos ...!!


-> Cuidado con los saltos que se puedan producir a la hora de leer el mail,
como puntos adicionales, guiones de mas etc..




Saludos
Monica




www.fermu.com
www.teladearana.es
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida