Kapalı Csv Dosyalarından Veri Çekme kodunda, bir klasördeki CSV uzantılı dosyanın açılmasına gerek kalmadan verilerinin listelenmesi öğretilmektedir.
[*]Microsoft Visual Basic for Applications penceresini (Alt + F11) açın.
[*]Project - VBAProject alanının, ekranın sol tarafında görüldüğünden emin olun. Görünmüyorsa, Ctrl + R kısayolu ile hızlıca açın.
[*]Araç çubuklarından Insert -> Module yazısına tıklayın.
[*]Alt kısma eklenecek gelecek olan Module(1) yazısına çift tıklayın.
[*]Üstteki kodu yapıştırın.
Bunun gibi bir dosyanız varsa, kodları gerekli başlıklara göre düzenleyerek kendi çalışmalarınıza uyarlayabilirsiniz. Tek yapmanız gereken, CSV dosyalarının hangi klasörde olduğunu seçmek olacaktır.
Faydalanılması temennisiyle.
CSV Dosyalarını Açmadan İçeriklerini Listeleme
Kod:
Sub CSV_Cek()
Dim ED As FileDialog, Yol As String, Dosya As String
Dim Baglan As Object, RS As Object
Dim SQL As String
Dim Satir As Long, i As Long, j As Integer
Const adOpenForwardOnly = 0
Const adLockReadOnly = 1
Const adOpenStatic = 3
Const adCmdText = 1
Range("A:H") = ""
Range("A1:H1") = Array("Source", "Tarih", "Şimdi", "Açılış", "Yüksek", "Düşük", "Hac.", "Fark %")
Range("A1:H1").Font.Bold = True
Set Baglan = CreateObject("ADODB.Connection")
Set RS = CreateObject("ADODB.Recordset")
Set ED = Application.FileDialog(msoFileDialogFolderPicker)
If ED.Show = False Then Exit Sub
Yol = ED.SelectedItems(1)
#If Win64 Then
Baglan.Open "Driver=Microsoft Access Text Driver (*.txt, *.csv);" & _
"Dbq=" & Yol & ";Extensions=asc,csv,tab,txt;"
#Else
Baglan.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
"Dbq=" & Yol & ";Extensions=asc,csv,tab,txt;"
#End If
Dosya = Dir(Yol & Application.PathSeparator & "*.csv", vbDirectory)
Do While Dosya <> ""
DoEvents
SQL = "Select * from [" & Dosya & "]"
RS.Open SQL, Baglan, adOpenStatic, adLockReadOnly, adCmdText
If RS.RecordCount > 0 Then
i = i + 1
For j = 0 To RS.Fields.Count - 1
Cells(i + 1, 1) = Dosya
Cells(i + 1, j + 2) = RS(j)
Next
End If
RS.Close
Dosya = Dir
Loop
Columns.AutoFit
Set RS = Nothing
Baglan.Close
Set Baglan = Nothing
End Sub
Uygulama Adımları
[*]Microsoft Visual Basic for Applications penceresini (Alt + F11) açın.
[*]Project - VBAProject alanının, ekranın sol tarafında görüldüğünden emin olun. Görünmüyorsa, Ctrl + R kısayolu ile hızlıca açın.
[*]Araç çubuklarından Insert -> Module yazısına tıklayın.
[*]Alt kısma eklenecek gelecek olan Module(1) yazısına çift tıklayın.
[*]Üstteki kodu yapıştırın.
Açıklama
Üstteki kodlar, aşağıdaki gibi başlıkları olan bir CSV dosyasından veri çekilmesini sağlamaya yaramaktadır.Bunun gibi bir dosyanız varsa, kodları gerekli başlıklara göre düzenleyerek kendi çalışmalarınıza uyarlayabilirsiniz. Tek yapmanız gereken, CSV dosyalarının hangi klasörde olduğunu seçmek olacaktır.
Faydalanılması temennisiyle.