VBA GetOpenFilename - VBA'da GetOpenFilename Yöntemi Nasıl Kullanılır?

GetOpenFilename aynı zamanda FSO'nun bir özniteliği olan bir yöntemdir, bu yöntem VBA'da bir dosya adı olan belirli bir dosyayı bulmak ve seçmek için kullanılır, bu yöntemdeki önemli faktör onu açmak için sağlanan dosya adının yoludur, biz ya işlevdeki dosya adının yolunu geçebilir ya da kullanıcıdan onu seçmek için bir dosya yolu sunmasını isteyebiliriz.

Excel VBA Uygulaması.GetOpenFilename

Belirli dosya adına erişmemiz gereken durumlar vardır ve bu VBA kodlamasıyla mümkün olabilir. Dosyaya erişmek için, dosya uzantısı ile birlikte klasör yolunu ve dosya adını da belirtmemiz gerekiyor. Dosya adını almak için birçok kodlayıcı, dosya yolunu ve dosya adını girme seçenekleri olarak VBA giriş kutusunu verir. Ancak bu pratik yapmak için iyi bir seçenek değildir, çünkü kullanıcının önüne bir giriş kutusu sunduğunuzda, her zaman dosya yolunu hatırlamazlar, bir klasörü başka bir klasörden ayırmak için ters eğik çizgiler, dosya adları ve dosyaların uzantıları . Bu, kullanıcı tarafından verilen girdiyi daha karmaşık hale getirir ve sonunda küçük bir boşluk karakteri hatası olsa bile her şey alt üst olur. En iyi yol, giriş kutusunu VBA'nın "GetOpenFileName" adlı yöntemiyle değiştirmektir.

Bu makalede, dosya adını hatasız almak için VBA GetOpenFileName'in nasıl kullanılacağını göstereceğiz.

GetOpenFilename Excel VBA'da ne yapar?

VBA “GetOpenFileName” kullanıcının dosyayı açmadan üzerinde çalıştığımız bilgisayardan seçmesine izin verir.

“GetOpenFileName” yönteminin yardımıyla, kullanıcının önünde gerekli klasördeki dosyayı seçmesi için bir diyalog kutusu sunabiliriz. "GetOpenFileName" dosya konumunu dosya adı ve dosya uzantısıyla birlikte kopyalayacaktır.

Excel VBA'da GetOpenFilename sözdizimi

"GetOpenFilename" yönteminin sözdizimine bir göz atın.

  • Dosya Filtresi: Bu argümanda, hangi tür dosyaların seçileceğini belirleyebiliriz. Örneğin, "Excel Dosyaları, *. Xlsx" den bahsederseniz, yalnızca "xlsx" excel uzantısıyla kaydedilmiş Excel Dosyalarını görüntüler. Başka hiçbir dosya görüntülenmeyecektir. Görmezden gelirseniz, her türlü dosya görüntülenecektir.
  • Filtre Dizini: Bununla, kullanıcının dosya türünü seçmesini kısıtlıyoruz. Dosya Filtresi altında görünecek filtre sayısını belirtebiliriz .
  • Başlık: Dosya seç diyalog kutusu başlığını gösterir.
  • Düğme Metni: Bu yalnızca Macintosh içindir.
  • Çoklu Seçim: Birden fazla dosya seçmek istiyorsanız DOĞRU, yoksa YANLIŞ. Varsayılan değer YANLIŞ'tır.

Excel VBA'da GetOpenFilename Örneği

Aşağıda VBA Application.GetOpenFilename örnekleri verilmiştir.

Dosya adını ve yol adresini almak için bir kod yazalım.

Adım 1: Alt programı başlatın.

Kod:

Alt GetFile_Example1 () Son Alt

Adım 2: Bir değişkeni String olarak bildirin.

Kod:

Alt GetFile_Example1 () Dim FileName As String End Sub

Adım 3: Bu değişken için GetOpenFileName atayacağız.

Kod:

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

Şu an itibariyle tüm parametreleri görmezden geldim.

Adım 4: Şimdi mesaj kutusunda değişkenin sonucunu gösterin.

Kod:

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

Şimdi kodu excel kısayol tuşu F5 ile veya manuel olarak çalıştırın, dosyayı seçmek için aşağıdaki diyalog kutusunu gösterecektir.

Herhangi bir dosyayı seçeceğim ve Tamam'a tıklayacağım.

Dosyayı seçer seçmez, VBA'da bunun gibi bir mesaj kutusu aldım. Dosya uzantısı ile birlikte tam klasör yolunu ve seçilen excel dosya adını gösterir.

Yukarıdaki görselde gördüğümüz gibi her türlü dosyayı görebiliyorduk. Şimdi ilk parametreyi, yani Dosya Filtresini "Excel Dosyaları, *. Xlsx" olarak ekleyeceğim.

Kod:

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

Şimdi, bu kodu F5 tuşunu kullanarak veya manuel olarak çalıştırırsam, yalnızca "xlsx" uzantılı Excel dosyalarını göreceğim.

Bunun gibi, dosyanın Dosya Adı ve uzantısı ile birlikte klasör yolunu almak için “VBA Application.GetOpenFileName” yöntemini kullanabiliriz.

Ilginç makaleler...