.

May 30 2007

Selección múltiple de archivos VB6

Published by Webmaster at 5:48 pm under vb

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

En este ejemplo al seleccionar varios archivos los mismos se copiaran a una carpeta específica, pero antes verificará si ya existen.

Vamos crear un nuevo proyecto y colocaremos un control Commondialog y un botón.

formulario.png

Ahora debemos de agregar al proyecto el control Microsoft Commond Dialog. Dando un clic en el menú Proyect > Components.

<control-commond-dialog.png

También debemos de agregar la referencia Microsoft Scripting Runtime, la cual la encontraremos en el mismo men&uacte; Proyect.

referencias-scripting-runtime.png

Y finalmente el código y sus comentarios.

Visual Basic:
  1. ‘Api para copiar Archivos
  2.   Private Declare Function CopyFile Lib “kernel32″ Alias “CopyFileA” _
  3.   (ByVal lpExistingFileName As String, ByVal lpNewFileName _
  4.   As String, ByVal bFailIfExists As Long) As Long
  5.  
  6. Public Function FileExists(sFullPath As String) As Boolean
  7. ‘Verifica si existe un archivo
  8. ‘Debemos de Activar
  9. ‘Microsoft Scripting Runtime en las Referencias de Visual Basic.
  10.     Dim oFile As New Scripting.FileSystemObject
  11.     FileExists = oFile.FileExists(sFullPath)
  12. ‘Regresa Falso o Verdadero
  13. End Function
  14.  
  15.  
  16. Private Sub Command1_Click()
  17. On Error GoTo TrataError
  18.     ‘Decalramos el Array din&aacute;mico de tipo String
  19.     Dim Archivos() As String
  20.     Dim i As Long, flag As String
  21.    
  22.     With CommonDialog1
  23.         .CancelError = True ‘ con esto se le dice al Visual Basic que si se pulsa en Cancelar
  24.         .MaxFileSize = 32760
  25.         .FileName = “”
  26.         .DialogTitle = “Selecci&oacute;n Multiple “
  27.         .Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
  28.         .ShowOpen
  29.     End With
  30.          
  31.     ‘Guardamos en el array din&aacute;mico los archivos con la funci&oacute;n Split
  32.     ‘indicandole como separador el Chr(0)
  33.     Archivos = Split(CommonDialog1.FileName, Chr(0))
  34.        
  35.     ‘Recorremos el Array e imprimimos el resultado en el formulario
  36.       For i = 0 To UBound(Archivos)
  37.         Dim RutaArchivo
  38.         Dim pos
  39.        
  40.         RutaArchivo = Archivos(i) ‘Asignamos el nombre del archivo
  41.         Do ‘Extraemos el Nombre de la ruta completa
  42.             pos = InStr(RutaArchivo, “\”)
  43.             RutaArchivo = Mid(RutaArchivo, pos + 1, Len(RutaArchivo))
  44.         Loop Until pos = 0
  45.        
  46.         ‘Verificamos si no existe
  47.         If (FileExists(“C:\Temp\” & RutaArchivo)) = True Then
  48.             MsgBox “Archivo “ & “C:\Temp\” & RutaArchivo & ” ya existe”
  49.         Else
  50.             CopyFile Archivos(i), “C:\Temp\” & RutaArchivo, True
  51.             DoEvents
  52.         End If
  53.       Next i
  54.      
  55.     ‘Eliminamos el array "Archivos"
  56.     Erase Archivos
  57. Exit Sub
  58.    
  59. TrataError:
  60.     If Err.Number = 32755 Then
  61.         MsgBox “El proceso se Cancelo”
  62.         Err.Clear
  63.         Exit Sub
  64.     End If
  65. End Sub

Click Para Bajar el Archivo
Bajar Archivos


 

    Share This     Te lleva a una entrada aleatoria

 

Trackback URI | Comments RSS

Deja un comentario