Visual Basic.NET - Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

 
Vista:
Imágen de perfil de Andrés
Val: 48
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Andrés (27 intervenciones) el 27/02/2018 01:44:56
Buenas noches amigos...

Estoy realizando un proyecto y necesito sus ayudas urgente es para la U, tengo una carpeta en C:\ y una serie de archivos sean, doc, xls, txt, ppt, pdf (La carpeta, los archivos y su contenido tiene como nombre Inteligencia Artificial), ademas de ello, tengo los siguientes controles en el Form; un TextBox, un Button, y un ListBox.

Lo que quiero es que cuando coloque una palabra en el TexBox y después que le de en el Button Buscar pues me aparezca la ruta en el ListBox con la lista de los archivos que contiene esa palabra. Me funciona bien pero solo con los archivos ppt, pdf, y txt. Con los los archivos doc y xls no me funciona.

Captura2

Quisiera que me colaboraran con lo siguiente:

1- Si el usuario le da en buscar sin haber colocado algo en la caja de texto, le aparezca un MessageBox indicando que pues por favor digite algo.

Captura1

2- Por otro lado cuando le doy al Button Buscar sin haber colocado nada en el TextBox, me aparece todos los archivos en el ListBox que estan en la carpeta y no quiero que pase eso, si no lo que quiero es que igualmente me salga el MessageBox Por favor digite algo.

Captura3

Amigos este es el código que tengo por ahora:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Class Form1
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
 
            Dim Archivo As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
 
            Archivo = My.Computer.FileSystem.FindInFiles("C:\Inteligencia Artificial", TextBox1.Text, _
                    True, FileIO.SearchOption.SearchTopLevelOnly)
 
            For Each name As String In Archivo
 
                ListBox1.Items.Add(name)
            Next
 
        Catch oe As Exception
            MsgBox(oe.Message, MsgBoxStyle.Critical)
        End Try
    End Sub
End Class

También les dejo el Proyecto Completo...

Gracias por su colaboración...
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
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Miguel (476 intervenciones) el 27/02/2018 02:47:24
La función FindInFiles abre los archivos como texto y busca en ellos la cadena especificada. Por otra parte, los archivos XLSX, DOCX, PDF, etc, no se guardan como texto normal (generalmente se comprimen), es por eso que no podrás realizar tus búsquedas de esta manera.
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
Imágen de perfil de Andrés
Val: 48
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Andrés (27 intervenciones) el 27/02/2018 19:06:50
Sabes cual es la función que me permita buscar en todos estos tipos de archivos?
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
sin imagen de perfil
Val: 230
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Cesar (79 intervenciones) el 27/02/2018 19:33:21
Hola.

Que yo sepa, no existe una funcion como tal para realizar eso.

Tendrias que hacer un programa, que empleando algun SDK para manejo de archivos (como las librerias de Aspose, Npoi, etc.), abra en memoria el archivo, busque el texto, y lo cierre.

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
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Miguel (476 intervenciones) el 27/02/2018 22:08:23
Tendrás que buscar librerías para cada tipo de archivo y abrirlos manualmente (uno por uno) para buscar coincidencias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Andrés
Val: 48
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Andrés (27 intervenciones) el 27/02/2018 22:46:55
Si amigo, aunque hasta ahora estoy empezando a programar eso pensé, lo de buscar las librerías. Si sabes de esas librerías te agradecería un ejemplo con la estructura.

De antemano, Gracias Miguel!
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
Imágen de perfil de Andrés
Val: 48
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Buscar palabra en archivo xls,doc, pdf, txt y traer la ruta

Publicado por Andrés (27 intervenciones) el 28/02/2018 04:15:44
Gracias Cesar por tu aporte, analizo y te cuento!
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