Pada tutorial kali ini, saya akan jelaskan bagaimana membuat Drop File dari Explorer ke Userform. Untuk Drop File ini menggunakan Control Listview.
Tutorial ini bisa dilihat melalui tutorial youtube dibawah ini
Jika pada toolbox tidak ditemukan Listview Control, siahkan tambahkan melalui Additional Control kemudian Checklist pada Microsoft Listview Control, kemudian click OK.
Tambahkan Listvew ke Userform, kemudian seting tampilannya menjadi Flat. Untuk mempercantik tampilannya, tambahkan sebuah Image untuk memberi informasi kepada user bisa melakukan Drop file disini.
Untuk contoh gambarnya bisa seperti dibawah ini, atau gambar yang lain bisa di kreasikan
atau seperti dibawah ini
Selanjutnya tambahkan pada Userform_Initialize, Listview DropMode agar listview ini bisa menerima file dari hasil drop dari Explorer.
Private Sub UserForm_Initialize() ListView1.OLEDropMode = ccOLEDropManual End Sub
Selanjutnya untuk menerima file hasil drop dari Explorer, kita bisa menggunakan Events Listview DragDrop kemudian ambil Filenya dari data.Files(1)
.
Dibawah ini saya contohkan File hasil Drop saya simpan datanya ke Sheet1. yang saya simpan adalah Extensi File, Nama File dan juga Tanggal dan Nama User nya.
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single) Dim fso As Object Dim fileName As String Dim fileType As String Dim filePath As String filePath = Data.Files(1) Set fso = CreateObject("Scripting.FileSystemObject") baris = Sheet1.Range("B" & Rows.Count).End(xlUp).Row + 1 ' Memeriksa apakah file ada If fso.FileExists(filePath) Then With Sheet1 .Range("A" & baris).Value = baris - 1 .Range("C" & baris).Value = fso.GetFileName(filePath) .Range("B" & baris).Value = fso.GetExtensionName(filePath) .Range("D" & baris).Value = Date .Range("E" & baris).Value = "Andi Setiadi" .Range("F" & baris).Value = "" End With ' Menampilkan nama file dan tipe file BuatList Else MsgBox "File not found!" End If End Sub
멋져요~ 한국에서 응원합니다.
감사합니다