• Jueves 7 de Noviembre de 2024, 23:32

Autor Tema:  Common Dialog  (Leído 2172 veces)

Yuriandy

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Common Dialog
« en: Sábado 10 de Marzo de 2007, 22:10 »
0
Hola a todos, tengo un problemita con el common dialog, yo quiero abrir los documentos de word que yo quiera, entonces coloco el siguiente código en un botón:

Private Sub Command1_Click()
CommonDialog1.Filter = "Documentos (*.doc)|*.doc"
CommonDialog1.FilterIndex = 2
CommonDialog1.ShowOpen
End Sub

Posteriormente ejecuto el programa, doy clic en el botón asignado y me abre la pantalla del common dialog para buscar el documento que desee, pero cuando le doy abrir a un documento no me sale nada, se que falta algo y ustedes tienen mi respuesta, les agradecería su colaboración

Si pueden me mandan el código entero de esto, para estudiarlo mejor.

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Common Dialog
« Respuesta #1 en: Domingo 11 de Marzo de 2007, 05:45 »
0
Que tal Yuriandy...

El problemas es que en realidad tu código no está tratando de abrir un archivo.

Con CommonDialog simplemente vas a obtener la ruta y el nombre de algún archivo que seleccione el usuario.
Dicha ruta y nombre la obtenés mediante CommonDialog1.FileName después de haber ejecutado CommonDialog1.ShowOpen
Por lo que solamente bastaría abrir el archivo utilizando shellexecute con la ruta y el nombre obtenidos.-

Sobre shellexecute busca en este mismo foro  ;)
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Yuriandy

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Common Dialog
« Respuesta #2 en: Domingo 11 de Marzo de 2007, 07:03 »
0
Hola amigo, quiero decirte que me cansé de buscar por todas las discusiones y encontré solamente el shellexecute para abrir un archivo en específico ya conocido, pero eso no es lo que yo quiero.
es decir, necesito buscar por todos los directorios de la máquina el documento que quiera el usuario y abrirlo, por favor lo necesito, si puedes preparame el codiguito te lo agradecería, ya que estoy un tanto atrasado con esto. Gracias.

AnioN

  • Miembro MUY activo
  • ***
  • Mensajes: 339
    • Ver Perfil
Re: Common Dialog
« Respuesta #3 en: Domingo 11 de Marzo de 2007, 14:40 »
0
Solo debemos introducir el codigo, crear un Boton llamado command1.
modificar la linea 6 con la letra de la unidad de disco duro en la que vamos a realizar la busqueda.
y en la linea 29 modificar AcroRd32.exe por el nombre del archivo que vamos a buscar.

Una vez ejecutado el codigo, se mostrará una alerta con la direccion fisica hacia el archivo.

Código: Text
  1. ' El codigo ha sido proporcionado: http://www.tutores.org
  2. Function PathTo(strFile As String) As String
  3. Dim x As Integer
  4. Dim strDirs As String
  5. Dim strDir As String
  6. Dim strEntry As String
  7. strDirs = "c:\" & vbNullChar
  8. Do While Len(strDirs)
  9. x = InStr(strDirs, vbNullChar)
  10. strDir = Left$(strDirs, x - 1)
  11. strDirs = Mid$(strDirs, x + 1)
  12. If Len(Dir$(strDir & strFile)) Then
  13. PathTo = strDir & Dir$(strDir & strFile)
  14. Exit Function
  15. End If
  16. strEntry = Dir$(strDir & "*.*", vbDirectory)
  17. Do While Len(strEntry)
  18. If (GetAttr(strDir & strEntry) And vbDirectory) Then
  19. If strEntry <> "." And strEntry <> ".." Then
  20.   strDirs = strDirs & strDir & strEntry & "\" & vbNullChar
  21. End If
  22. End If
  23. strEntry = Dir$
  24. Loop
  25. Loop
  26. PathTo = ""
  27. End Function
  28.  
  29. Private Sub Command1_Click()
  30. MsgBox PathTo("AcroRd32.exe")
  31. End Sub
  32.  
  33.  

mamex

  • Miembro activo
  • **
  • Mensajes: 77
  • Nacionalidad: mx
    • Ver Perfil
Re: Common Dialog
« Respuesta #4 en: Lunes 12 de Marzo de 2007, 03:45 »
0
Que tal, aqui te dejo una solucion y espero te sirva. :hola:

Código: Text
  1.  
  2. 'Declara la funcion shellexecute
  3. Private Declare Function ShellExecute Lib "shell32.dll" Alias _
  4.     "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
  5.     ByVal lpFile As String, ByVal lpParameters As String, _
  6.     ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  7.  
  8. 'al presionar un boton busca el archivo
  9. Private Sub Command1_Click()
  10.     Dim archivo As String
  11.     CommonDialog1.ShowOpen
  12.     archivo = CommonDialog1.FileName
  13.     ShellExecute Me.hwnd, "Open", archivo, "", "", 1
  14. End Sub
  15.  
  16.  

Yuriandy

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Common Dialog
« Respuesta #5 en: Lunes 12 de Marzo de 2007, 05:21 »
0
Muchísimas gracias, ya resolví el problema, se lo agradesco, si en algo puedo ayudar lo haré sin contemplaciones.