VBA Dosya Aç İletişim Kutusu

VBA kullanarak açmak için bir dosya seçmenizi sağlar. Application.GetOpenFilename yöntem. Bu öğreticide, bir dosya iletişim kutusunu nasıl açacağınızı ve parametreleri nasıl ayarlayacağınızı öğreneceksiniz.

Bir dosyayı nasıl açıp kapatacağınızı öğrenmek istiyorsanız şu linke tıklayabilirsiniz: VBA Open/Close File

VBA'da bir Dosya İletişim Kutusu Açın

VBA'da bir dosya açmak istiyorsanız, önce bir dosya seçmek için bir dosya iletişim kutusu açmanız gerekir. İşte kod:

123 Dize Olarak Dim strFilestrFile = Application.GetOpenFilename(FileFilter:="Excel dosyaları (*.xlsx*), *.xlsx*", Title:="Açmak için bir Excel dosyası seçin", MultiSelect:=True)

Gördüğünüz gibi, yöntemin birkaç parametresi var. Dosya Filtresi bizim durumumuzda .xlsx dosyalarında ihtiyacınız olan dosya türlerini filtrelemenize olanak tanır.

İçinde Başlık parametre, iletişim kutusunun başlığını ayarlayabilirsiniz. Birden fazla dosyanın açılmasına izin vermek istiyorsanız, ayarlamanız gerekir. Çoklu Seçim True'ya. Bu parametreyi ayarlamazsanız yalnızca bir dosya seçilebilir.

Resim 1. Bir dosya iletişim kutusu açın

Resim 1'de görebileceğiniz gibi, iletişim kutusu başlığıyla birlikte görünür. Bir Excel dosyası seçin. Yalnızca Excel dosyaları filtrelenir ve birden fazla dosya seçebiliriz.

Belirli Bir Klasörde Dosya İletişim Kutusu Açın

Belirli bir klasörde bir iletişim kutusu açmak istiyorsanız, yöntemi kullanmanız gerekir. .FileDialog parametre ile msoFileDialogDosya Seçici. Örnekte, klasörde bir iletişim kutusu açacağız. C:\VBA Klasörü. İşte kod:

123456789101112131415161718192021 Dim fd As Office.FileDialogDize Olarak Dim strFilefd = Application.FileDialog(msoFileDialogFilePicker) olarak ayarlayınfd ile.Filtreler.Temizle.Filters.Add "Excel Dosyaları", "*.xlsx?", 1.Title = "Bir Excel dosyası seçin".AllowMultiSelect = Yanlış.InitialFileName = "C:\VBA Klasörü".Show = True isestrFile = .SelectedItems(1)Bitirİle bitmek

İlk önce değişkeni bildirmeniz gerekir fd tip Office.FileDialog ve dosya alma için dize değişkeni:

12 Dim fd As Office.FileDialogDize Olarak Dim strFile

Bundan sonra, ayarlamanız gerekir fd ile Application.FileDialog(msoFileDialogFilePicker):

1 fd = Application.FileDialog(msoFileDialogFilePicker) olarak ayarlayın

Şimdi, içinde fd ile Bitir, birden fazla parametre ayarlayabiliriz:

1234567 .Filtreler.Temizle.Filters.Add "Excel Dosyaları", "*.xlsx?", 1.Title = "Bir Excel dosyası seçin".AllowMultiSelect = Yanlış

Burada dosya filtrelerini temizliyoruz (.Filtreler.Temizle) ve .xlsx olarak ayarlayın (.Filters.Add “Excel Files”, “*.xlsx?”, 1).

Ayrıca, iletişim kutusunun başlığını da ayarlayabiliriz: .Title = “Bir Excel dosyası seçin”.

Bir kullanıcıyı yalnızca bir dosya seçecek şekilde sınırlayabiliriz: .AllowMultiSelect = Yanlış

İstediğimiz klasörde bir iletişim kutusu açmak için kodun şu satırını koymamız gerekiyor:

1 .InitialFileName = "C:\VBA Klasörü"

Sonunda, önceden ayarlanmış tüm parametrelerle iletişim kutusunu açacağız:

12345 .Show = True isestrFile = .SelectedItems(1)Bitir

Bu kodu çalıştırdığımızda, klasörde dosya açma iletişim kutusu belirir. C:\VBA Klasörü:

Resim 2. Belirli bir klasörde bir dosya iletişim kutusu açın

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave