dizinden dosya açımı hatası

Katılım
29 Mart 2007
Mesajlar
14
Excel Vers. ve Dili
2003Eng
arkadaşlar,
herhangibir dizini makro ile açarken dosya adında boşluk karakteri olduğunda hata vermekte, en azından benim elimde bulunan macro kodunda malesef durum öyle.
boşluk karakteri olduğunda hata vermeden dosyaya erişim için kodlamada nasıl bir değişiklik yapılmalı?
 
Katılım
13 Aralık 2007
Mesajlar
93
Excel Vers. ve Dili
excel 2003
merhaba..
arkadaşlar,
herhangibir dizini makro ile açarken dosya adında boşluk karakteri olduğunda hata vermekte, en azından benim elimde bulunan macro kodunda malesef durum öyle.
boşluk karakteri olduğunda hata vermeden dosyaya erişim için kodlamada nasıl bir değişiklik yapılmalı?
dizinden dosya açmak mı? veri almak mı?
 
Son düzenleme:
Katılım
29 Mart 2007
Mesajlar
14
Excel Vers. ve Dili
2003Eng
Sub Veri_Al()
Dim cn As Object
Dim rs As Object
Dim myPath As String
Dim i As Long
Dim j As Integer

Set cn = CreateObject("ADODB.Connection")
myPath = "\\10.6.0.204\EXPORTS" 'TXT dosyasının bulunduğu dizin.
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myPath & _
";Extended Properties=""text;HDR=yes;FMT=Delimited"""
Set rs = cn.Execute( _
"SELECT * FROM data I_2008.txt")
i = 4
While Not rs.EOF
If Minute(rs(0)) Mod 60 = 0 Then
i = i + 1
For j = 0 To rs.Fields.Count - 1
Cells(i, j + 1) = rs(j)
Next
Cells(i, 1) = CDate(Cells(i, 1))
End If
rs.movenext
Wend
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing

End Sub
data I_2008.txt dosyasının adı linkin bulunduğu kısımda ve bu şekilde bir adı var.
Ancak data ve I karakteri arasındaki boşluk kaldırılınca adresteki dosyada da boşluk kaldırılınca macro txt dosyasını açarak içerisinden verileri excel'e aktarmaktadır.
Eğer boşluk olursa (ki gerçektede dosya adında boşluk olmasına rağmen) hata vermektedir.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Tırnak içine alıp deneyin.
Kod:
Sub Veri_Al()
Dim cn As Object
Dim rs As Object
Dim myPath As String
Dim i As Long
Dim j As Integer
myPath = """[URL="file://\\10.6.0.204\EXPORTS"]\\10.6.0.204\EXPORTS[/URL]""" 'TXT dosyasının bulunduğu dizin.
Set cn = CreateObject("ADODB.Connection")
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myPath & _
";Extended Properties=""text;HDR=yes;FMT=Delimited"""
Set rs = cn.Execute( _
"SELECT * FROM [data I_2008.txt]")
i = 4
While Not rs.EOF
    If Minute(rs(0)) Mod 60 = 0 Then
    i = i + 1
        For j = 0 To rs.Fields.Count - 1
            Cells(i, j + 1) = rs(j)
        Next
    Cells(i, 1) = CDate(Cells(i, 1))
    End If
    rs.movenext
Wend
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
 
Üst