Fichier de copie VBA / classeur

VBA vous permet de copier un fichier, en utilisant le FileSystemObject. Dans ce didacticiel, vous apprendrez à copier et renommer un fichier spécifique.

Si vous voulez savoir comment renommer un fichier, vous pouvez cliquer sur ce lien : VBA Rename File

Copier un fichier / classeur

Nous allons montrer comment copier le fichier existant Exemple de fichier 1.xlsx dans le dossier Dossier VBA. Dans cet exemple, nous ne renommerons pas le fichier, il suffit de le copier et de l'écraser. Le dossier ne contient actuellement qu'un seul fichier :

Image 1. Fichier dans le dossier C:\VBA Folder

Voici le code :

12345 Dim OFSO en tant qu'objetDéfinir oFSO = CreateObject("Scripting.FileSystemObject")Appelez oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Vous devez d'abord créer l'objet de la classe Script.FileSystemObject :

1 Définir oFSO = CreateObject("Scripting.FileSystemObject")

On peut alors utiliser la méthode Copier un fichier:

1 Appelez oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

Le premier paramètre de la méthode est le chemin source et le second est le chemin de destination. Le troisième paramètre est Écraser. Comme nous avons les mêmes chemins source et destination, nous devons définir Écraser à Vrai ou Faux. Dans cet exemple, nous mettons True, ce qui signifie que le fichier d'origine est écrasé.

Regardons maintenant ce qui se passe si nous avons les mêmes destinations, mais définissez Overwrite sur False. Il vous suffit de modifier cette ligne de code :

1 Appelez oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\", True)

En conséquence, vous obtiendrez une erreur comme vous pouvez le voir dans l'image 2 :

Image 2. Erreur lors de la copie du fichier

Copier et renommer un fichier

Une autre option possible lors de la copie d'un fichier est de le renommer. C'est similaire à la copie d'un fichier, mais il vous suffit maintenant de définir le chemin de destination avec un nom différent. Voici le code :

12345 Dim OFSO en tant qu'objetDéfinir oFSO = CreateObject("Scripting.FileSystemObject")Appelez oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\Sample file Copy.xlsx")

Comme vous pouvez le voir sur la dernière ligne du code, nous voulons copier le fichier Exemple de fichier 1.xlsx dans le même dossier et nommez-le Exemple de fichier Copy.xlsx :

1 Appelez oFSO.CopyFile("C:\VBA Folder\Sample file 1.xlsx", "C:\VBA Folder\Sample file Copy.xlsx")

Nous avons maintenant deux fichiers dans le dossier VBA. Le résultat du code est dans l'image 3:

Image 3. Copiez et renommez le fichier

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave