Kapalı Csv Dosyalarından Veri Çekme

Kapalı Csv Dosyalarından Veri Çekme

Kapalı Csv Dosyalarından Veri Çekme kodunda, bir klasördeki CSV uzantılı dosyanın açılmasına gerek kalmadan verilerinin listelenmesi öğretilmektedir.

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.

Kapalı Csv Dosyalarından Veri Çekme


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.
 
Geri
Üst