La Web del Programador: Comunidad de Programadores
 
    Pregunta:  17002 - IDENTIFICAR NOMBRES DE ARCHIVOS EN UN COMMON DIALOG
Autor:  Brenda Viveros
Hola:
Espero puedan ayudarme. Necesito identificar los nombres de archivos que se han elegido desde un common dialog y sinceramente no se como hacerla. Con el common dialog ya logre traer la direccion de los archivos.Por ejpl: "C:\Carpeta archivo1.txt archivo2.txt archivo3.txt" y asi hasta "n" archivos ahora lo que necesito es saber como puedo identificar cada nombre de archivo en una variable y poder manipularlos pues despues necesito poder abrirlos, leerlos y cerrarlos, sabiendo que el usuario no siempre elige el mismo numero y nombre de archivos. Espero que mi pregunta sea clara y puedan darme una solucion, pues no tengo a quien recurrir. De antemano Gracias.

  Respuesta:  SuNcO
Aki esta lo ke buscas, se ve algo complicado pero no lo es, solo ocupas un texbox normal llamado text1 y cuatro text2, osea con index (comienza desde index 1)

Ah claro, ocupas el common dialog y un boton

Aunke no lo entiendas usalo y veraz ke si separa los nombres elegidos

Private Sub Command1_Click()
Dim nombre(10) ' pongo matriz
Com1.Flags = &H200 ' le digo ke acepte multiples archivos
Com1.ShowOpen ' mostrar dialogo
Text1 = Com1.filename ' poner el resultado en text1
i = 3 ' inicializar i
For x = 1 To 10
nombre(x) = "" ' inicializar a NULL las variables de nombre
Next x
cuantos = 1 ' contador de comienzo
Do ' aki reviso desde donde comenzar
letra = Mid(Com1.filename, cuantos, 1)
cuantos = cuantos + 1
Loop Until letra = " " ' salirse hasta ke encuentre un espacio en blanco
contador = cuantos ' inicializo el contador
Do
Do
letra = Mid(Com1.filename, contador, 1) ' leer caracter
If letra <> " " Then ' chekar ke no sea espacio en blanco
nombre(i) = nombre(i) + letra ' agregarlo al actual
End If
contador = contador + 1 ' aumentar contador
Loop Until (letra = " ") Or (contador > Len(Com1.filename))
Text2(i - 2) = nombre(i) ' ponerlo en un textbox con index
i = i + 1 ' aumentar el contador
Loop Until contador > Len(Com1.filename)
End Sub

  Respuesta:  Oswaldo Monagas
El Common Dialog tiene una propiedad donde tu obtienes el nombre del archivo al cual se la a hecho click, aqui tienes un ejemplo:

'Declaraciones:
Dim Ruta2 as string

With CommonDialog3
.CancelError = True 'Causes error on Cancel
.Filter = "Access (*.mdb)|*.mdb|All Files (*.*)|*.*"
.FilterIndex = 1
.ShowOpen
txtFileName.Text = .FileName
ruta2 = txtFileName.Text
End With

Siendo CommonDialog3 el nombre del Common Dialog y lo que te interesa a ti particularmente es el .FileName o tambien puedes usarlo sin el With-End With donde el FileName debes ponerlo asi Nombre.FileName donde Nombre es el nombre del common dialog. Luego debes hacer que el archivo tenga una ruta y para eso debes declarar una variable que en le caso anterior en ruta2. Espero que lo entiendas si no puedes escribirme o usa la ayuda del VB, escribe Common Dialog en cualquier sitio de un proyecto, seleccionalo y pulsa F1 y te llevara a la ayuda MSDN donde encontraras un buen ejemplo.
Saludos