Access - Como uso el método COPY o COPYFILE

 
Vista:

Como uso el método COPY o COPYFILE

Publicado por TatirusRex (11 intervenciones) el 31/05/2005 15:22:17
hola!, tengo un procedimiento que al clickear un botón me abre el msoFileDialogFilePicker para seleccionar una foto. yo quiero que la foto seleccionada la COPIE a una carpeta seleccionada, pero NO SE como usar el Copy (Método) o el CopyFile (Método). Por favor denme una mano, se los agradecere muchísimo.
Este es el procedimiento:

Private Sub SeleccionarFoto_Click()

Dim fileName As String
Dim result As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Seleccione la foto"
.Filters.Add "All Files", "*.*"
.Filters.Add "JPEGs", "*.jpg"
.Filters.Add "Bitmaps", "*.bmp"
.Filters.Add "GIF", "*.gif"
.FilterIndex = 2
.AllowMultiSelect = False
.InitialFileName = "A:\"
result = .Show
If (result <> 0) Then

'aca deberia estar el metodo para copiar la foto seleccionada
'pero no se como hacerlo

End If
End With

End Sub

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
Imágen de perfil de Alejandro

Copiar foto seleccionada a una carpeta específica

Publicado por Alejandro (4142 intervenciones) el 03/06/2023 00:20:36
Para copiar la foto seleccionada a una carpeta específica, puedes utilizar el método `FileCopy`. Aquí tienes un ejemplo de cómo puedes modificar tu código para realizar la copia de la foto:

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
Private Sub SeleccionarFoto_Click()
    Dim fileName As String
    Dim result As Integer
 
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione la foto"
        .Filters.Add "All Files", "*.*"
        .Filters.Add "JPEGs", "*.jpg"
        .Filters.Add "Bitmaps", "*.bmp"
        .Filters.Add "GIF", "*.gif"
        .FilterIndex = 2
        .AllowMultiSelect = False
        .InitialFileName = "A:\"
        result = .Show
 
        If (result <> 0) Then
            ' Obtener el nombre de archivo seleccionado
            fileName = .SelectedItems(1)
 
            ' Especificar la carpeta de destino
            Dim destinationFolder As String
            destinationFolder = "C:\CarpetaDestino\" ' Reemplaza con la ruta de tu carpeta destino
 
            ' Copiar el archivo a la carpeta de destino
            FileCopy fileName, destinationFolder & "\" & GetFileNameFromPath(fileName)
        End If
    End With
End Sub
 
' Función para obtener solo el nombre del archivo de una ruta completa
Function GetFileNameFromPath(ByVal filePath As String) As String
    GetFileNameFromPath = Right(filePath, Len(filePath) - InStrRev(filePath, "\"))
End Function

En el código anterior, después de seleccionar la foto, se obtiene el nombre del archivo seleccionado en la variable `fileName`. Luego, se especifica la carpeta de destino en la variable `destinationFolder` (asegúrate de reemplazar la ruta con la ubicación de tu carpeta de destino). Finalmente, se utiliza el método `FileCopy` para copiar el archivo a la carpeta de destino.

La función `GetFileNameFromPath` se utiliza para extraer solo el nombre del archivo de la ruta completa. Esto es necesario para concatenar el nombre del archivo con la ruta de destino en la línea de código de `FileCopy`.

Con esta solución, la foto seleccionada se copiará a la carpeta de destino especificada.
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