VBA FreeFile - Comment utiliser la fonction FreeFile dans Excel VBA?

Table des matières

Excel VBA FreeFile

FreeFile est une fonction dans VBA qui est disponible uniquement en tant que fonction VBA, pas en tant que fonction de feuille de calcul. La fonction VBA FreeFile renvoie le numéro entier unique au fichier, qui est ouvert et préserve le prochain numéro de fichier disponible.

Nous ouvrons généralement des fichiers depuis notre ordinateur pour écrire quelque chose ou en lecture seule, tout en faisant référence à ces fichiers, nous devons nous référer à un nombre entier unique. La fonction VBA FreeFile nous permet de déterminer ce nombre entier unique à attribuer à l'ouverture du fichier pour lire, écrire et ouvrir des fichiers à l'aide de VBA.

Jetez maintenant un œil à la syntaxe de l'instruction OPEN.

OPEN (Adresse de chemin de fichier) Pour (Mode à ouvrir) Comme (Numéro de fichier)

Adresse du chemin du fichier: nous devons mentionner l'adresse du fichier sur notre ordinateur que nous essayons d'ouvrir.

Mode d'ouverture: lors de l' ouverture du fichier, nous devons savoir quel type de modèle nous allons appliquer. Nous pouvons utiliser trois méthodes ici, «Mode d'entrée», «Mode de sortie» et «Mode d'ajout».

Mode d'entrée pour lire uniquement le fichier.

Mode de sortie pour effacer les données existantes et insérer de nouvelles données.

Mode Ajouter pour ajouter de nouvelles données tout en conservant les données existantes.

Numéro de fichier: Avec cet argument, nous pouvons faire référence au fichier que nous ouvrons - celui-ci où la fonction «FreeFile» joue un rôle essentiel et renvoie le nombre entier unique.

Comment utiliser la fonction FreeFile dans Excel VBA?

Maintenant, regardez le code ci-dessous.

Code:

Sub FreeFile_Example1 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Open Path For Output As FileNumber Path = "D: Articles 2019 File 2.txt "FileNumber = FreeFile Open Path for Output As FileNumber End Sub

Maintenant, laissez-moi décoder le code ci-dessus pour que vous le compreniez.

Tout d'abord, j'ai déclaré deux variables.

Dim Path As String, Dim FileNumber As Integer

Ensuite, j'ai attribué le chemin du fichier avec son nom.

Path = "D: Articles 2019 File 1.txt"

Ensuite, pour une autre variable, j'ai attribué la fonction FREEFILE.

FileNumber = FreeFile

Ensuite, j'ai utilisé l'instruction Open pour ouvrir le fichier texte dans le fichier mentionné ci-dessus chemin.

Ouvrir le chemin pour la sortie en tant que FileNumber

Ok, maintenant je vais exécuter le code ligne par ligne en appuyant sur la touche F8 et voir la valeur de la variable «FileNumber».

Il affiche le numéro de fichier comme 1. Ainsi, la fonction de fichier gratuit réserve automatiquement ce numéro au fichier d'ouverture. Lors de son exécution, aucun autre fichier n'est ouvert.

Maintenant, je vais continuer à exécuter la ligne suivante de code VBA et voir quel est le numéro de fichier si je passe à la ligne suivante.

Maintenant, il dit 2. La fonction FreeFile réserve donc le nombre entier unique 2 au deuxième fichier d'ouverture.

Fonction FreeFile Renvoie toujours 1 si nous fermons le fichier Excel.

Une chose que nous devons regarder est que la fonction VBA «FreeFile» en renvoie toujours un si nous fermons le fichier ouvert avant d'ouvrir le deuxième fichier Excel.

Par exemple, regardez le code ci-dessous.

Code:

Sub FreeFile_Example2 () Dim Path As String Dim FileNumber As Integer Path = "D: Articles 2019 File 1.txt" FileNumber = FreeFile Ouvrir le chemin pour la sortie en tant que FileNumber Fermer FileNumber Path = "D: Articles 2019 File 2 .txt "FileNumber = FreeFile Ouvrir le chemin pour la sortie en tant que FileNumber Fermer FileNumber End Sub

Maintenant, je vais à nouveau exécuter le code ligne par ligne en appuyant sur la touche F8.

Il dit 1 comme d'habitude.

Maintenant, je vais passer au niveau suivant.

Même dans la deuxième tentative, il dit 1.

La raison en est que nous avons utilisé l'instruction Close file, FreeFile reconnaît le fichier nouvellement ouvert comme le nouveau fichier et renvoie le nombre entier comme 1.

Articles intéressants...