【发布时间】:2012-08-05 11:56:59
【问题描述】:
有一个像这样的 csv 文件,我可以使用下面的代码轻松读取它。但正如您所见,csv 中有多个 name1、group1、status1、name2、group2 等列。每个用户将有不同数量的列。我想知道是否有一种方法可以在我调用objRecordset.Fields.Item("Group1") 的地方使用通配符@ 类似("Group%") 或者我是否可以自动增加数字直到找不到记录为止
用户名、域、站点、MCO、名称1、组1、状态1、名称2、组2、状态2、名称3、组3、状态3 Paolina,AA,Athens,Greece,Adobe Acrobat Pro,ACROBAT009,Live,,,,,, George,AA,Athens,Greece,SpotFire 2.20,SPOTFIRE220,Live,,,,,,,
option explicit
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001
Dim strPathtoTextFile, objConnection, objRecordSet, objNetwork
Dim wshshell, Username
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")
Set objNetwork = CreateObject("WScript.Network")
userName = objNetwork.UserName
strPathtoTextFile = "C:\Hunter\vbs\" 'must have a trailing \
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strPathtoTextFile & ";" & _
"Extended Properties=""text;HDR=YES;FMT=Delimited"""
objRecordset.Open "SELECT * FROM Users.txt where [user name] like '" & UserName & "'", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText
Do Until objRecordset.EOF
Wscript.Echo "Name: " & objRecordset.Fields.Item("User Name")
Wscript.Echo "Group: " & objRecordset.Fields.Item("Group1")
Wscript.echo "Status:" & objRecordset.Fields.Item("Status1")
objRecordSet.MoveNext
Loop
【问题讨论】: