我正在使用下面的函數來讀取具有以下格式的文本文件。我需要查找id(column1)和返回日期(column2)。我不明白我的代碼有什麼問題。 所以我的代碼運行完美,直到readline,但一些如何不循環。所以基本上它只是檢查傳入的consumerSSN只有txt文件中的第一個SSN。 所以如果我通過getDOH(213396391),它會回退空白(「」),而不是相應的日期。在vbscript中讀取csv文件
sraDOH.txt:
578171533,2015-01-01 00:00:00
213396391,2015-06-01 00:00:00
077966385,2015-01-01 00:00:00
216418521,2015-01-01 00:00:00
Function getDOH(consumerSSN)
dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
dim doh, t, x
For Each File In fso.GetFolder(fso.GetAbsolutePathName("..\Test Files\")).Files
If File.Name = "sraDOH.txt" Then
Set tsIn2 = fso.OpenTextFile(File, 1)
Do While Not tsIn2.AtEndOfStream
doh = tsIn2.ReadLine
t = split(doh,",")
If consumerSSN = t(0) Then
getDOH = t(1)
Else
getDOH = ""
End If
Loop
End If
Next
End Function
Kushal,也有你的代碼有很多陷阱,或許有助於你無力解決此。相對路徑,使用選項顯式。 fso在哪裏創建?在整個過程中添加Wscript.echo以確定正在運行什麼不是。很多時候VBA默默地失敗了,這是一種痛苦。另外,沒有關於如何調用函數的示例,所以我們甚至不知道customerSSN是否等於任何值。希望這可以幫助。 –
我加了fso。路徑和一切正常。這是合乎邏輯的,在這個工作6個小時後我看不到。希望得到第二雙眼睛。對不起,如果它由於缺乏信息而令你感到困惑 –
嘗試設置一個結果變量並分解,然後將函數名設置爲結果。也許設置返回值導致函數退出。 –