使用VB Script,如何自动创建包含特定文件夹中文件列表的Excel文件?

时间:2016-01-08 06:05:25

标签: excel vbscript

我在网上搜索过但无法找到以下具体答案。

我所知道的:(1)S:\ Rally中的文件列表的txt文件可以在S:\ Rally提示符下从cmd创建:

dir/b>H:\Home\list1.txt

(2)通过将以下内容保存为.vbs:

,可以打开一个新的Excel文件
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True

objExcel.Workbooks.Add

然后在cmd中运行它(假设.vbs文件保存为C:\ Scripts \ openex1.vbs):

cscript C:\Scripts\openex1.vbs

我不知道的是(1)如何将这些放在一起以便创建一个Excel文件(而不是txt文件),其中包含来自S:\ Rally的结果文件列表和(2)如何自动执行此操作,最好在每个月末运行,但我可以双击某些内容或进入cmd并在每月月底自行运行。

2 个答案:

答案 0 :(得分:1)

csv文件是否适合您的目的?要获取S:\ Rally中的文件列表,您可以将批处理文件保存在S:\ Rally中,其中包含一行:

dir /b > myCsv.csv

那将在Excel中打开。

答案 1 :(得分:0)

  

(1)如何将这些放在一起以便Excel文件(而不是txt   文件)是使用S:\ Rally

中生成的文件列表创建的

这是一个脚本,它将标准输入复制到空白Excel文件中,并使用第一个参数作为文件名保存。

Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Add
xldata = Split(WScript.StdIn.ReadAll, vbCrLf)
Set a1 = xl.Evaluate("Sheet1!A1")
For i = 0 To UBound(xldata)
    a1.Offset(i).Value = xldata(i)
Next
wb.SaveAs WScript.Arguments(0)
xl.Quit

因此,要运行它,请将其另存为xldump.vbs并使用此命令行,将dir /b的输出汇总到脚本中。

dir /b S:\Rally | cscript xldump.vbs file-list.xlsx
  

(2)如何自动化,最好在每个月末运行,   但我可以双击一下或进入cmd和   在每个月末自己运行。

将上一个命令放在批处理文件中,然后使用“管理工具”控制面板中的“任务计划程序”运行它。