Copia de archivo VBA

Función Excel VBA FileCopy

File Copy es una función vba incorporada que se utiliza para copiar el archivo de una ubicación a otra ubicación mencionada. Para utilizar esta función, debemos mencionar la ruta del archivo actual y la ruta del archivo de destino.

Ok, veamos la sintaxis de la función FileCopy.

  • Fuente: Esto no es más que desde donde necesitamos copiar el archivo. Necesitamos mencionar la ruta de la carpeta completamente calificada.
  • Destino: esta es la carpeta de destino donde debemos pegar el archivo copiado.

Ejemplos

A continuación se muestran los ejemplos de cómo copiar archivos usando el código VBA.

Puede descargar esta plantilla de Excel de copia de archivo VBA aquí - Plantilla de Excel de copia de archivo VBA

Ejemplo 1

Comencemos con un ejemplo sencillo. Tengo un archivo llamado "Ventas de abril de 2019" en la carpeta. A continuación se muestra la imagen de la misma, es decir, " Fuente ".

Desde la ubicación anterior, quiero copiar este archivo y pegarlo en una carpeta diferente. A continuación se muestra la imagen del mismo, es decir, " Origen de destino".

Ok, escribamos el código para ello.

Abra la función FileCopy dentro del procedimiento Sub.

Código:

 Sub FileCopy_Example1 ()

Copia de archivo

End Sub

Ahora, para el primer argumento, debemos mencionar la ruta del archivo donde se encuentra nuestra corriente.

Código:

 Sub FileCopy_Example1 ()

FileCopy “D: \ Mis archivos \ VBA \ Archivos de abril

End Sub

Después de mencionar la ruta de la carpeta, también debemos mencionar el archivo con la extensión del archivo. Así que mencione el nombre del archivo poniendo una barra invertida (\).

Código:

 Sub FileCopy_Example1 () FileCopy "D: \ Mis archivos \ VBA \ Archivos de abril \ Ventas de abril de 2019.xlsx", End Sub 

Ahora, en el segundo argumento, mencione dónde debemos pegar el archivo copiado.

Código:

 Sub FileCopy_Example1 () FileCopy "D: \ Mis archivos \ VBA \ Archivos de abril \ Ventas de abril de 2019.xlsx", "D: \ Mis archivos \ VBA \ Carpeta de destino \ Ventas de abril de 2019.xlsx" End Sub 

Una cosa que debemos hacer a continuación, mencionando la ruta de la carpeta al final, también debemos mencionar el nombre del archivo en el argumento de destino.

Ahora ejecute el código usando la tecla F5 o manualmente, luego copiará el archivo desde la ubicación de abajo a una ubicación de destino.

"D: \ Mis archivos \ VBA \ Archivos de abril \ Ventas de abril de 2019.xlsx"

"D: \ Mis archivos \ VBA \ Carpeta de destino \ Ventas de abril de 2019.xlsx"

Ejemplo n. ° 2: utilice variables para almacenar la ruta de origen y la ruta de destino.

En el ejemplo anterior, proporcionamos la ruta de origen y la ruta de destino directamente a la fórmula. Pero esta no es la mejor práctica para continuar, así que almacenémoslos en variables.

Para ver un ejemplo, mire el siguiente código.

Código:

 Sub FileCopy_Example2 () Dim SourcePath As String Dim DestinationPath As String SourcePath = "D: \ My Files \ VBA \ April Files \ Sales April 2019.xlsx" DestinationPath = "D: \ My Files \ VBA \ Destination Folder \ Sales April 2019. xlsx "FileCopy SourcePath, DestinationPath End Sub 

Déjame explicarte el código en detalle.

Primero he declarado dos variables.

 Atenuar SourcePath como cadena Atenuar ruta de destino como cadena 

Luego, para la primera variable, he asignado la ruta de la carpeta desde donde tiene que copiar el archivo y el nombre del archivo junto con su extensión de archivo.

SourcePath = "D: \ Mis archivos \ VBA \ Archivos de abril \ Ventas de abril de 2019.xlsx"

Para la segunda variable de manera similar, he asignado la ruta de la carpeta de destino con el nombre de archivo y la extensión de Excel.

DestinationPath = "D: \ Mis archivos \ VBA \ Carpeta de destino \ Ventas de abril de 2019.xlsx"

Luego, para la fórmula FileCopy, he proporcionado estas variables en lugar de largas cadenas de ruta de carpeta.

Ruta de origen de copia de archivo, ruta de destino

De esta manera, podemos usar variables para almacenar las rutas y usarlas de manera eficiente.

Ejemplo n. ° 3: error con la función de copia de archivo

A veces, la función de copia de archivo encuentra un error de "Permiso denegado".

La razón por la que obtenemos este error es que cuando se abre el archivo de copia y si intenta copiar aparece el error anterior, así que siempre cierre el archivo y ejecute el código.