Catatan:
* File yg ingin dibuka dibatasi hanya file workbook (ber-extensi *.xls ) 
kecuali workbook
yg berisi makro yg ditanyakan (ctv_OpenAllFile_in_a_folder.xls)
* Sebelum Looping, kita dapat menyebutkan jumlah ITEM dlm folder; yg dimaksud 
dengan 
item ialah semua file (type apa pun) dan Sub Folders.
* Jumlah file yg berextensi *.xls hanya dapat disebutkan setelah LOOPING.
* Dalam contoh di bawah ini, setelah file dibuka, akan disela dengan pemunculan 
MessageBox; maksodnya untuk memberi kesempatan anda melihat bahwa file telah 
dibuka;
kemudian file tsb ditutup kembali sebelum membuka file berikutnya.
Anda dapat menghapus bagian ini (dengan konsekwensi semua file dlm folder 
walaupun 
berisi ratusan/ribuan file xls akan dibuka semua )

Contoh ini (hanya salah satu cara dari banyak cara lain) telah sering diposted 
ke milis 
(dgn berbagai variasi) dlm rangka menanggapi berbagai kasus.

' ---------------
Sub OpenAllFileInaFolder()
   ' siti Vi / membuka semua Files pada folder tertentu
   '----------------------------------------------------
   Dim FSO As Object, FOL As Object, n as Integer
   Dim MyFile As Object, fPath As String
   
   ' nama Folder (path lengkap) dapat anda edit misal
   ' fPath = "D\MyFolder\MySubFOlder\MyProject"
   fPath = ThisWorkbook.Path
      
   On Error GoTo Akhir
   
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Set FOL = FSO.GetFolder(fPath).Files
   
   For Each MyFile In FOL
      If Not MyFile.Name = ThisWorkbook.Name Then
         If UCase(Right(MyFile.Name, 4)) = ".XLS" Then
            n = n + 1
            Workbooks.Open Filename:=MyFile.Name
            MsgBox "file ini akan ditutup sebelum membuka file berikutnya"
            Workbooks(MyFile.Name).Close
         End If
      End If
   Next
   MsgBox "Jumlah workbooks (*.xls) : " & n
Akhir:
End Sub




--------------------------------------------------------------------------------

  ----- Original Message ----- 
  From: Yasir Arafat 
  To: [email protected] 
  Sent: Friday, February 26, 2010 10:31 AM
  Subject: ]] XL-mania [[ Open file (all in folder) pakai macro

        Dear Pakar XL
        Bagaimana code di macro sehingga macro dapat membaca jumlah file yang 
ada di folder, 
        kemudian membuka file tersebut satu persatu.
        Selama ini saya selalu menggunakan code:

            Dim FileData As String
            FileData = Application.GetOpenFilename("Excel File,*.xls")
            Workbooks.Open FileName:=FileData

        Namun dengan perintah itu saya harus mengklik file yang saya inginkan 
        (dalam folder yang sama) dan mengulang kembali perintah tersebut untuk 
file yang kedua 
        dan seterusnya.  
        Memang jika file dalam folder tersebut sedikit, tidak terlalu 
merepotkan, tapi apabila 
        sudah mulai bertambah, akan merepotkan dan sangat memungkinkan membuka 
file 
        yang sudah dibuka sebelumnya, sehingga data yang diproses menjadi 
berganda.
        Terima kasih atas sharing ilmunya

        Best Regard
        Yasir
       

Kirim email ke