我有Book1.csv和Book2.xlsx。 Book1.csv包含许多包含数据的列。每列在第一行中都有唯一的标题。我需要找到标题为“Processor Time”的列,并使用VBscript将此列中的所有可用数据复制到Book2.xlsx中的column1。请帮忙。
答案 0 :(得分:0)
您可以使用ADO获取列:
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Docs\;"
strcon = strcon & "Extended Properties=""Text;FMT=Delimited;HDR=Yes;IMEX=1"";"
cn.Open strcon
strSQL = "Select [Processor Time] From [Book1.csv]"
rs.Open strSQL, cn
MsgBox rs.GetString
您可以在Excel中使用自动化:
Set xl = CreateObject("Excel.Application")
您可以使用以下命令从记录集写入Excel:
xl.Worksheets("Sheet3").Cells(2, 1).CopyFromRecordset rs
如果您在将这些位放在一起时遇到问题,可以回发。
编辑重新评论
尝试稍微切换一下代码:
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set objWorkbook1=xl.Workbooks.Open("C:\Docs\book2.xlsx")
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Docs\;"
strcon = strcon & "Extended Properties=""Text;FMT=Delimited;HDR=Yes;IMEX=1"";"
cn.Open strcon
strSQL = "Select [Processor Time] From [Book1.csv]"
rs.Open strSQL, cn
objWorkbook1.Worksheets("Sheet1").Cells(2, 1).CopyFromRecordset rs