VBA GetOpenFilename | Com s'utilitza el mètode GetOpenFilename a VBA?

GetOpenFilename és un mètode que també és un atribut de FSO, aquest mètode s’utilitza a VBA per trobar un determinat fitxer amb un nom de fitxer i seleccionar-lo, el factor important d’aquest mètode és la ruta del nom de fitxer proporcionat per obrir-lo, pot passar el camí del nom del fitxer a la funció o bé podem demanar a l'usuari que presenti un camí del fitxer per seleccionar-lo.

Aplicació VBA d'Excel.GetOpenFilename

Hi ha situacions en què hem d’accedir al nom de fitxer específic i això pot ser possible amb la codificació VBA. Per accedir al fitxer, també hem d’esmentar el camí de la carpeta i el nom del fitxer juntament amb la seva extensió. Per tal d’obtenir el nom del fitxer, molts programadors proporcionaran el quadre d’entrada VBA com a opcions per introduir el camí i el nom del fitxer. Però aquesta no és una bona opció per practicar-la, ja que quan presenteu un quadre d’entrada davant de l’usuari, no sempre recorden el camí del fitxer, les barres invertides per separar una carpeta d’una altra carpeta, els noms dels fitxers i l’extensió dels fitxers. . Això fa que l’entrada donada per l’usuari sigui més desordenada i, al final, tot es fotrà fins i tot si hi ha un petit error de caràcter espacial. La millor manera és substituir el quadre d'entrada pel mètode de VBA anomenat "GetOpenFileName".

En aquest article, us mostrarem com utilitzar VBA GetOpenFileName per obtenir el nom del fitxer sense cap error.

Què fa GetOpenFilename a Excel VBA?

VBA "GetOpenFileName" permet a l'usuari seleccionar el fitxer de l'ordinador en què treballem sense obrir-lo.

Amb l'ajut del mètode "GetOpenFileName", podem presentar un quadre de diàleg davant de l'usuari per seleccionar el fitxer a la carpeta requerida. "GetOpenFileName" copiarà la ubicació del fitxer juntament amb el nom del fitxer i l'extensió del fitxer.

Sintaxi de GetOpenFilename a Excel VBA

Mireu la sintaxi del mètode "GetOpenFilename".

  • Filtre de fitxers: En aquest argument, podem especificar quin tipus de fitxers cal mostrar. Per exemple, si esmenta "Fitxers Excel, *. Xlsx", només es mostraran els fitxers Excel guardats amb l'extensió excel "xlsx", no es mostraran altres fitxers. Si ignoreu es mostrarà tot tipus de fitxers.
  • Índex del filtre: Amb això, restringim l'usuari a seleccionar el tipus de fitxer. Podem especificar una llista del nombre de filtres que es mostraran a sota Filtre de fitxers.
  • Títol: Mostra el títol del quadre de diàleg de selecció de fitxers.
  • Text del botó: Això només és per a Macintosh.
  • Selecció múltiple: CERT si voleu seleccionar diversos fitxers o bé FALS. El valor per defecte és FALS.

Exemple de GetOpenFilename a Excel VBA

A continuació es mostren els exemples de VBA Application.GetOpenFilename.

Podeu descarregar aquesta plantilla Excel VBA GetOpenFilename aquí: plantilla Excel VBA GetOpenFilename

Escrivim un codi per obtenir el nom del fitxer i l’adreça del camí.

Pas 1: Inicieu la subrutina.

Codi:

 Sub GetFile_Example1 () Final Sub 

Pas 2: Declareu una variable com a Cadena.

Codi:

 Sub GetFile_Example1 () Atenua el nom del fitxer com a final de la cadena Sub 

Pas 3: Per a aquesta variable, assignarem el GetOpenFileName.

Codi:

 Sub GetFile_Example1 () Atenua el nom del fitxer com a cadena FileName = Application.GetOpenFilename () End Sub 

A hores d’ara, he ignorat tots els paràmetres.

Pas 4: Ara mostreu el resultat de la variable al quadre de missatges.

Codi:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Ara executeu el codi mitjançant la tecla de drecera Excel F5 o manualment, es mostrarà el quadre de diàleg següent per seleccionar el fitxer.

Seleccionaré qualsevol fitxer i faré clic a D'acord.

Tan bon punt he seleccionat el fitxer, he rebut un quadre de missatge a VBA com aquest. Mostra el camí complet de la carpeta i el nom del fitxer Excel seleccionat juntament amb l'extensió del fitxer.

Com podem veure a la imatge anterior, podríem veure tot tipus de fitxers. Ara afegiré el primer paràmetre, és a dir, Filtre de fitxers com a "Fitxers Excel, *. Xlsx".

Codi:

 Sub GetFile_Example1 () Dim Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Ara, si executo aquest codi amb la tecla F5 o manualment, només veuré fitxers Excel amb l'extensió "xlsx".

Així, podem utilitzar el mètode "VBA Application.GetOpenFileName" per obtenir el camí de la carpeta juntament amb el nom del fitxer i l'extensió del fitxer.