Share via


Seek, fonction

Renvoie une valeur de type Long spécifiant la position de lecture/écriture actuelle dans un fichier ouvert à l’aide de l’instruction Open .

Syntaxe

Seek(filenumber)

L’argument filenumber requis est un entier contenant un numéro de fichier valide.

Remarques

Seek retourne une valeur comprise entre 1 et 2 147 483 647 (équivalent à 2^31 - 1), inclus.

Voici une description des valeurs renvoyées pour chaque mode d'accès au fichier.

Mode Valeur renvoyée
Aléatoire Numéro du prochain enregistrement lu ou écrit.
Binaire, Sortie, Ajout, Entrée Position de l'octet à laquelle la prochaine opération est effectuée. Le premier octet dans un fichier est à la position 1, le deuxième octet est à la position 2, etc.

Exemple

Cet exemple utilise la fonction Seek pour renvoyer la position actuelle dans un fichier. L’exemple suppose que TESTFILE est un fichier contenant des enregistrements du type Recorddéfini par l’utilisateur.

Type Record    ' Define user-defined type.
    ID As Integer
    Name As String * 20
End Type

Pour les fichiers ouverts en mode aléatoire, Seek retourne le numéro de l’enregistrement suivant.

Dim MyRecord As Record    ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)    ' Loop until end of file.
    Get #1, , MyRecord    ' Read next record.
    Debug.Print Seek(1)    ' Print record number to the Immediate window.
Loop
Close #1    ' Close file.

Pour les fichiers ouverts dans des modes autres que le mode aléatoire, Seek renvoie la position de l'octet à laquelle la prochaine opération est exécutée. Supposons que TESTFILE est un fichier contenant quelques lignes de texte.

Dim MyChar
Open "TESTFILE" For Input As #1    ' Open file for reading.
Do While Not EOF(1)    ' Loop until end of file.
    MyChar = Input(1, #1)    ' Read next character of data.
    Debug.Print Seek(1)    ' Print byte position to the Immediate window.
Loop
Close #1    ' Close file.

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.