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
' siti Vi / membuka semua Files pada folder tertentu
'------------
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
fPath = ThisWorkbook.
On Error GoTo Akhir
Set FSO = CreateObject(
Set FOL = FSO.GetFolder(
For Each MyFile In FOL
If Not MyFile.Name = ThisWorkbook.
If UCase(Right(
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
Workbooks.Open Filename:=MyFile.
MsgBox "file ini akan ditutup sebelum membuka file berikutnya"
Workbooks(MyFile.
End If
End If
Next
MsgBox "Jumlah workbooks (*.xls) : " & n
Akhir:
End Sub
Akhir:
End Sub
----- Original Message -----From: Yasir ArafatSent: Friday, February 26, 2010 10:31 AMSubject: ]] 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 keduadan seterusnya.
Memang jika file dalam folder tersebut sedikit, tidak terlalu merepotkan, tapi apabilasudah mulai bertambah, akan merepotkan dan sangat memungkinkan membuka fileyang 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 |
+-------------------------------------------------------------------+
| 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:
Postar um comentário