使用VB将多个Excel文件合并为一个

时间:2010-08-25 17:58:02

标签: vb.net excel-vba vba excel

我有一个包含多个excel文件的文件夹,这些文件有一个日期字段,即08-24-2010-123320564.xls。我希望能够有一些VB脚本,只需要从今天开始的文件,并将它们合并到一个文件中。

  

08-24-2010-123320564.xls   08-24-2010-123440735.xls   08-24-2010-131450342.xls

进入

  

08-24-2010.xls

有人可以帮忙吗?

由于

GabrielVA

2 个答案:

答案 0 :(得分:0)

Aspose使得使用.NET http://www.aspose.com

中的excel文件非常容易

答案 1 :(得分:0)

假设您只想在简单的电子表格中追加行,请遵循以下逻辑:

  • 伪码
    • 使用excel宏
      • (你也可以从vb自动化excel,但为什么单独使用vbscript,因为你还需要excel?)
    • 有dir列表(dir函数)
    • 将date_start变量init调暗为“new”
    • 将merged_spreadsheet称为新文档默认为无
    • 循环通过dir的结果
      • 如果date_start<>文件名的开头
        • 如果merged_spreadsheet不是什么都没有
          • 保存
          • 将其设置为空
        • 在date_start
        • 中存储日期开始日期(左中间函数)
      • 如果merged_spreadsheet什么都没有
        • 制作一个新的
      • 从dir命令的循环中打开文件
      • 选择所有数据
      • 复制
      • 转到merged_spreadsheet
      • 中的第一个空行
      • 粘贴
    • 循环文件
    • 如果merged_spreadsheet不是什么都没有
      • 保存

如果您对所有这些'nothings'不满意,可以设置一个单独的标记来跟踪您是否有merged_spreadsheet。想想日期中只有一个文件会发生什么,根本没有文件等等。 当然,你会撕掉你的头发,找出如何自动化这些excel功能。将“硬”转变为“非常简单”的秘诀是:

宏录制器将显示自动化命令

他们不直观。所以记录一个宏。然后在代码中执行您需要执行的操作。停止录制并查看结果。

例如:
*加载/保存文件 *仅选择输入的字段 * 全选 *复制/切换文件/粘贴 *创建新表 *单击各种单个单元格并键入(如何检查/设置单元格的内容)

总结 -
(1)知道完全你正在做什么的步骤 (2)使用宏录制器来放弃excel对象模型的秘密。偷走它的秘密。

如果你巧妙地嫁给这两个概念,那真的不会那么难。由于宏将是vbscript(至少如果您使用office 97 ;-),您可以根据需要从vbs或vb6运行它。跳到v​​b.net也不应该那么难。