使用VBscript搜索字符串并将该列复制到另一个工作表

时间:2010-10-28 17:40:38

标签: vbscript

我有Book1.csv和Book2.xlsx。 Book1.csv包含许多包含数据的列。每列在第一行中都有唯一的标题。我需要找到标题为“Processor Time”的列,并使用VBscript将此列中的所有可用数据复制到Book2.xlsx中的column1。请帮忙。

1 个答案:

答案 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