Access - Copiar archivo en VBA

 
Vista:

Copiar archivo en VBA

Publicado por Cesar V (2 intervenciones) el 06/07/2006 20:29:45
Que tal , ya puse esta pregunta pero creo que no me explique bien, estoy haciendo una base de datos en acces 2003 y en una forma, tengo un boton llamado " Anexar reporte", cuando lo presiono abro un cuadro de dialogo open y alli puedo selecionar un archivo que deseo anexar a mi base de datos, al momento que yo seleciono el archivo obtengo en mi programa su path ( C:\MyDocuments\reporte1.doc y lo que yo quiero hacer mediante codigo de VBA renombrar ese archivo y copiarlo a otra direccion, que es un disco en la red ( s:\databases\reportes\rep001.doc ), en pocas palabras que comando de VBA copia y renombra un archivo, gracias de antemano.
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 y renombrar archivos desde un Formulario

Publicado por Alejandro (4142 intervenciones) el 20/07/2023 20:31:19
Para copiar y renombrar un archivo utilizando VBA en Access 2003, puedes utilizar el método `FileCopy` para copiar el archivo y luego el método `Name` para renombrarlo. A continuación, te proporciono un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub BotonAnexarReporte_Click()
    Dim archivoOrigen As String
    Dim archivoDestino As String
 
    ' Abre el cuadro de diálogo para seleccionar el archivo a anexar
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False ' Permite seleccionar solo un archivo
        .Title = "Selecciona el archivo para anexar"
 
        If .Show = -1 Then ' Si el usuario hizo clic en "Abrir"
            archivoOrigen = .SelectedItems(1) ' Obtiene la ruta del archivo seleccionado
 
            ' Ruta y nombre del archivo destino (renombre el archivo como desees)
            archivoDestino = "s:\databases\reportes\rep001.doc"
 
            ' Copia el archivo de origen al destino
            FileCopy archivoOrigen, archivoDestino
 
            MsgBox "Archivo anexado con éxito.", vbInformation
        End If
    End With
End Sub

En el código anterior, asegúrate de reemplazar `"s:\databases\reportes\rep001.doc"` con la ruta y nombre de archivo que deseas utilizar como destino.

El método `FileCopy` copiará el archivo desde `archivoOrigen` a `archivoDestino`, mientras que el archivo original se mantendrá intacto. Luego, puedes modificar `archivoDestino` para renombrar el archivo si lo deseas.

Es importante mencionar que en Access 2003, el método `FileCopy` no admite la copia de archivos a una ubicación en red directamente, por lo que necesitas copiar el archivo localmente primero y luego moverlo a la ubicación en red como se muestra en el ejemplo.

Espero que esta solución te sea útil. ¡Buena suerte!
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