A GetOpenFilename egy olyan módszer, amely egyben az FSO attribútuma is. Ezt a módszert a VBA-ban használják, hogy megtaláljanak egy bizonyos fájlt fájlnévvel és kiválasszák azt. A módszer fontos tényezője a megnyitásához megadott fájlnév útvonala, mi vagy átadhatja a fájlnév elérési útját a függvényben, vagy megkérhetjük a felhasználót, hogy mutasson be egy fájlútvonalat annak kiválasztásához.
Excel VBA alkalmazás. GetOpenFilename
Vannak olyan helyzetek, amikor hozzáférnünk kell a konkrét fájlnévhez, és ez a VBA kódolással lehetséges. A fájlhoz való hozzáféréshez meg kell említenünk a mappa elérési útját és a fájl nevét a fájlkiterjesztéssel együtt. A fájlnév megszerzéséhez sok kódoló megadja a VBA beviteli mezőt a fájl elérési útjának és fájlnevének megadásának lehetőségeként. De ez nem jó lehetőség a gyakorláshoz, mert amikor egy beviteli mezőt mutat be a felhasználó előtt, nem mindig emlékszik a fájl elérési útjára, a visszavonással elválasztja az egyik mappát egy másik mappától, a fájlneveket és a fájlok kiterjesztését. . Ez a felhasználó által megadott bevitelt rosszabbá teszi, és a végén minden elcseszik, még akkor is, ha kicsi a szóköz karaktere. A legjobb módszer a beviteli mező cseréje a VBA „GetOpenFileName” nevű módszerével.
Ebben a cikkben megmutatjuk, hogyan használhatja a VBA GetOpenFileName fájlt a fájlnév hibamentes megszerzéséhez.
Mit csinál a GetOpenFilename az Excel VBA-ban?
A VBA „GetOpenFileName” lehetővé teszi a felhasználó számára, hogy a fájl megnyitása nélkül kiválassza a fájlt a számítógépen, amelyen dolgozunk.
A „GetOpenFileName” módszer segítségével valóban bemutathatunk egy párbeszédpanelt a felhasználó előtt a fájl kiválasztásához a kívánt mappában. A „GetOpenFileName” másolja a fájl helyét, a fájlnévvel és a fájlkiterjesztéssel együtt.
A GetOpenFilename szintaxisa az Excel VBA-ban
Vessen egy pillantást a „GetOpenFilename” módszer szintaxisára.
- Fájlszűrő: Ebben az argumentumban megadhatjuk, hogy milyen fájlokat jelenítsen meg a kiválasztáshoz. Például, ha megemlíti az „Excel Files, *. Xlsx” kifejezést, akkor csak az Excel fájlokat jeleníti meg, amelyek az „xlsx” excel kiterjesztéssel vannak mentve, más fájlok nem jelennek meg. Ha figyelmen kívül hagyja, mindenféle fájl megjelenik.
- Szűrőindex: Ezzel korlátozzuk a felhasználót a fájltípus kiválasztására. A Fájlszűrő alatt felsorolhatjuk a látható szűrők számát .
- Cím: Megjeleníti a fájl kiválasztása párbeszédpanel címét.
- Gombszöveg: Ez csak Macintosh rendszerhez használható.
- Többszörös kijelölés : IGAZ, ha több fájlt szeretne kijelölni, vagy pedig HAMIS. Az alapértelmezett érték FALSE.
Példa a GetOpenFilename-re az Excel VBA-ban
Az alábbiakban bemutatjuk a VBA Application.GetOpenFilename példáit.
Ezt a VBA GetOpenFilename Excel sablont innen töltheti le - VBA GetOpenFilename Excel sablontÍrjunk egy kódot a fájlnév és az elérési út cím megszerzéséhez.
1. lépés: Indítsa el az alprogramot.
Kód:
Sub GetFile_Example1 () End Sub
2. lépés: Nyújtson be egy változót karakterláncként.
Kód:
Sub GetFile_Example1 () Dim FileName mint karakterlánc vége Sub
3. lépés: Ehhez a változóhoz hozzárendeljük a GetOpenFileName nevet.
Kód:
Sub GetFile_Example1 () Dim FileName mint karakterlánc FileName = Application.GetOpenFilename () End Sub
Mostanáig minden paramétert figyelmen kívül hagytam.
4. lépés: Most mutassa meg a változó eredményét az üzenetmezőben.
Kód:
Sub GetFile_Example1 () Dim FileName mint karakterlánc FileName = Application.GetOpenFilename () MsgBox FileName End Sub
Most futtassa a kódot az F5 excel gyorsbillentyűvel vagy manuálisan, az alábbi párbeszédpanelen jelenik meg a fájl kiválasztásához.
Kiválasztok egy fájlt, és rákattintok az OK gombra.
Amint kiválasztom a fájlt, kaptam egy ilyen üzenetdobozt a VBA-ban. Megmutatja a teljes mappa elérési útját és a kiválasztott Excel fájlnevet, valamint a fájlkiterjesztést.
Amint a fenti képen láthatjuk, mindenféle fájlt láthattunk. Most hozzáadom az első paramétert, azaz a Fájlszűrőt „Excel Files, *. Xlsx” néven.
Kód:
Sub GetFile_Example1 () Dim FileName as String FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub
Ha ezt a kódot az F5 billentyűvel vagy manuálisan futtatom, akkor csak az Excel fájlokat látom, amelyek kiterjesztése „xlsx”.
Így használhatjuk a „VBA Application.GetOpenFileName” metódust a mappa elérési útjának megszerzéséhez a fájlnévvel és a fájl kiterjesztésével együtt.