Excel - MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN WORD

 
Vista:

MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN WORD

Publicado por JONATHAN PINALES (10 intervenciones) el 12/01/2008 01:18:27
Apreciables compañeros, necesito su ayuda:

Tengo aproximadamente 1500 oficios elaborados en Word y necesito abrir uno a uno y buscar una palabra especifica (Por ejemplo Turbocompresores), deseo crear una macro en excel que me indique el nombre de los archivos de Word (oficios) en donde aparece dicha palabra ¿Alguien conoce el Código?

Agradeceré cualquier ayuda

De antemano Muchas Gracias

Atte. Jonathan Gutierrez
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por Cesar (151 intervenciones) el 12/01/2008 06:00:46
Simplemente con buscar ARCHIVOS O CARPETAS puedes encontrar los datos que se encuentran en determinado archivo y con determinadas caracteristica.

Puedes ir a inicio / buscar / archivos o carpetas / colocar el dato que estas buscando en la celda respectiva y listo te busca en todos los directorios que le has indicado.

Espero haber ayudado

Cesar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por JONATHAN PINALES (10 intervenciones) el 12/01/2008 18:54:20
Eso ya lo sé, lo que estoy solicitando es hacerlo con una macro para que ME LEA LA INFORMACION DEL DOCUMENTO y ahi busque una cadena de texto, por supuesto que dandole click en buscar me buscara archivos y eso NO ES LO QUE NECESITO.

De todos modos Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por JuanC (792 intervenciones) el 12/01/2008 20:09:07
... entonces, podrías dar más detalles de lo que quieres hacer??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por JONATHAN PINALES (10 intervenciones) el 13/01/2008 16:04:48
Gracias por contestar

Por supuesto que si, mira, tengo 1500 archivos en Word y otros en Acrobat, en varios tengo asuntos diversos de la compañía en la que trabajo, necesito abrir los 1500 para conocer en cuales de ellos en el texto interior del documento (No en el nombre) me contiene la palabra clave, que a manera de ejemplo es "Turbocompresores" y al correr la macro me ponga en la columna "A" los nombres de los archivos (preferentemente con hipervinculo).
Dicho de otra manera, lo que yo hago es irme a buscar, pongo la palabra clave, me indica los documentos, lo capturo como imagen, lo capturo y despues le pongo un hipervinculo ¿Tedioso no?, deseo hacerlo con una macro en Excel, por el momento solo el codigo, que me lo haga aunque sea teniendo que modificar en el codigo la ruta, despues le inserto un formulario y le pongo rosas, el codigo que tengo es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Busca_e_Informa()
[A:A].ClearContents
With Application.FileSearch
.NewSearch
.LookIn = "C:Aaa"
.FileName = "A*; P*"
.SearchSubFolders = False
.TextOrProperty = "Turbocompresor"
.FileType = msoFileTypeWordDocuments
 
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Range("A" & i) = .FoundFiles(i)
Next i
Else
MsgBox "No se encontró ningún archivo."
End If
End With
End Sub

____________________

COMENTARIOS:
a) Este código busca en archivos Word la palabra "Turbocompresor". Si la encuentra, lista en la columna "A" los archivos contenedores.
Si no la encuentra, lo informa mediante un MsgBox.

b) .LookIn = "C:Aaa"
Carpeta de búsqueda

c) .SearchSubFolders = False
Se indica que la búsqueda no incluye a las subcarpetas.

d) .FileName = "A*; P*"
La búsqueda se dará en archivos que comiencen con "A" ó con "P".

e) .TextOrProperty = "Turbocompresor"
Texto a buscar.

f) .FileType = msoFileTypeWordDocuments
La búsqueda se circunscribe a los archivos tipo Word.

Me he dado cuenta que en ocasiones funciona y en ocasiones no y no se como cambiarla para convertira en hipervinculo.

Por la atencion muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por JuanC (792 intervenciones) el 13/01/2008 18:45:21
yo lo enfoqué de una manera similar... busco los *.doc, los abro y busco dentro,
si encuentra hace un hipervínculo al .doc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Option Explicit
 
'//By JuanC - Ene. 2008
 
Sub SearchWordsInDoc()
Dim wDoc As Object
Dim wApp As Object
Dim fs As Variant
Dim lCount&, i&, sText$
Dim sFullName$, lOff&
 
Set fs = Application.FileSearch
 
Set wApp = GetWord
If wApp Is Nothing Then GoTo Fin
 
Application.ScreenUpdating = False
 
sText = "julio" '//Texto a buscar
 
Set fs = Application.FileSearch
With fs
     .LookIn = "c:windowsescritorio" '//Carpeta de búsqueda
     .SearchSubFolders = True
     .Filename = "*.doc"
     If .Execute(SortBy:=msoSortByLastModified, SortOrder:=msoSortOrderAscending, AlwaysAccurate:=True) > 0 Then
        lCount = .FoundFiles.Count
        For i = 1 To lCount
            sFullName = .FoundFiles(i)
            Set wDoc = wApp.Documents.Open(sFullName)
            If Not wDoc Is Nothing Then
               If FindText(wDoc, sText) Then
                  [A1].Offset(lOff).Hyperlinks.Add Anchor:=[A1].Offset(lOff), Address:=wDoc.FullName
                  lOff = lOff + 1
               End If
               wDoc.Close False
            End If
        Next
     End If
End With
 
wApp.Quit
 
Fin:
Application.ScreenUpdating = True
 
Set fs = Nothing
Set wApp = Nothing
Set wDoc = Nothing
End Sub
 
Private Function GetWord() As Object
On Error GoTo Create
Set GetWord = GetObject(, "Word.Application")
Exit Function
Create:
Set GetWord = CreateObject("Word.Application")
End Function
 
Private Function FindText(ByVal Doc As Object, ByVal sText As String) As Boolean
On Error Resume Next
With Doc.Content.Find
     .ClearFormatting
     If .Execute(FindText:=sText) Then
        FindText = True
     Else
          FindText = False
     End If
End With
End Function


Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por JONATHAN PINALES (10 intervenciones) el 14/01/2008 20:38:43
Funciona bien pero ¿Como le hago para que no me muestre la ruta completa sino que solamente el nombre del archivo?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por JuanC (792 intervenciones) el 14/01/2008 21:38:22
te ahogaste en un vaso de agua!!

[A1].Offset(lOff).Hyperlinks.Add Anchor:=[A1].Offset(lOff), Address:=wDoc.FullName, TextToDisplay:=Mid(sFullName, InStrRev(sFullName, "") + 1)

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por Stark619 (1 intervención) el 27/12/2013 22:14:26
Hola disculpa este método también se puede usar para PDF???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:MACRO EN EXCEL PARA BUSCAR CADENA DE TEXTO EN W

Publicado por Anderson jair (2 intervenciones) el 17/10/2014 23:26:28
Hola...Diculpa bueno ya ha pasado tiempo de lo que se desarrollo este codigo, ahora quiero que funcione en excel 2010 pero no funciona, quizas me puedas ayudar.... a convertir este codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar