Vba: klasördeki tüm dosyalar nasıl açılır
Belirli bir klasördeki tüm dosyaları açmak için VBA’da Workbooks.Open yöntemiyle Do While döngüsünü kullanabilirsiniz.
Bunu pratikte yapmanın yaygın bir yolu:
Sub OpenAllFilesInFolder()
Dim ThisFolder As String
Dim ThisFile As String
'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")
'open each xlsx file in folder
Do While ThisFile <> ""
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
Loop
End Sub
Bu özel makro, aşağıdaki klasörde .xlsx uzantılı tüm dosyaları açar:
- C:\Kullanıcılar\bob\Documents\current_data
Aşağıdaki örnekte bu makronun pratikte nasıl kullanılacağı gösterilmektedir.
İlgili: VBA Kullanarak Tüm Açık Çalışma Kitaplarının Listesini Alma
Örnek: Bir klasördeki tüm dosyalar VBA kullanılarak nasıl açılır?
Diyelim ki, üç adet .xlsx dosyası içeren current_data adında aşağıdaki klasöre sahibiz:
Diyelim ki bu klasördeki tüm .xlsx dosyalarını açmak için VBA’yı kullanmak istiyoruz.
Bunun için aşağıdaki makroyu oluşturabiliriz:
Sub OpenAllFilesInFolder()
Dim ThisFolder As String
Dim ThisFile As String
'specify folder location and types of files to open in folder
ThisFolder = "C:\Users\bob\Documents\current_data"
ThisFile = Dir(ThisFolder & "\*.xlsx")
'open each xlsx file in folder
Do While ThisFile <> ""
Workbooks.Open Filename:=ThisFolder & "\" & ThisFile
ThisFile = Dir
Loop
End Sub
Bu makroyu çalıştırdığımızda klasörde bulunan .xlsx uzantılı her dosya tek tek açılacaktır.
Klasördeki dosyalardan herhangi biri zaten açıksa bu dosyaların açık kalacağını unutmayın.
Not : VBA’daki Workbooks.Open yönteminin tüm belgelerini burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
VBA kullanarak bir dosyayı yeniden adlandırma
VBA kullanarak bir klasördeki dosyalar nasıl listelenir
VBA kullanılarak dosyanın var olup olmadığı nasıl kontrol edilir