Tecnologia, programação e muito Visual FoxPro.

domingo, 28 de fevereiro de 2010

Re: ]] XL-mania [[ Open file (all in folder) pakai macro

 

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 -----
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
 

__._,_.___
+-:: XL-mania ::::::::::::::::::::----------------------------------+
| huaaaa... momods sakit... *sob*                                   | 
| http://www.facebook.com/group.php?gid=37671048001&ref=mf          |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message,  melecehkan,  tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan  winzip  jika  perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke  |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/           |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau...  |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html           |
+-------------------------------------------------------------------+
| Message lama ada di :                                             |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id]  |
| http://www.mail-archive.com/xl-mania@yahoogroups.com              |
+-------------------------------------------------------------------+
.

__,_._,___

Nenhum comentário:

Arquivo do blog