Vbs判断两个Excel文件的内容--将两个Excel文件相同内容写入新建的Excel文件内

简介:

公司人数比较多,使用的是domino系统,由于domino管理邮件组是非常灵活的,邮件组内的人员可以随便手动添加,所以很容易造成误差,如果出错了,用户给邮件组发送邮件会提示,某个用户不在domino目下,加上近期公司一直调整邮件组织架构,出现这样的很多问题,所以就想起通过vbs脚本来判断最新的文档和系统导出的文档的一致性,所以就写了一个vbs脚本来判断两个Excel文件内容,然后将两个Excel文件相同内容找出并且同时生成一个新的excel文件将相同的内容写入进去(前提需要写入的内容格式以SAP.EXCEL这个表的格式完全一样,需要组织信息),写完及使用后觉得不错,在此分享给有需要的朋友,具体见下:

自定义两个Excel文件,然后在两个文件内分别添加相同及不相同的内容,方便测试然后运行脚本,运行成功后,会在当前目录生成一个文件,该文件内的内容为:文件1和文件2内容的相同内容,得到该结果,意味着脚本运行成功。

脚本定义文件名称:

clip_image002

脚本内容

clip_image004

vbs内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
currentFolder=CreateObject( "wscript.shell" ).currentDirectory&"\"
filename1=currentFolder& "Domino.xlsx"
filename2=currentFolder& "SAP.xlsx"
filename3=currentFolder& "执行后生成的文件.xlsx"
Set dic=CreateObject( "scripting.dictionary" )
Set excelObject=CreateObject( "Excel.Application" )
Set workbook1=excelObject.Workbooks.Open(filename1)
Set workbook2=excelObject.Workbooks.Open(filename2)
Set workbook3=excelObject.Workbooks.Add
Set workbook1_sheet=workbook1.Sheets( "Sheet1" )
Set workbook2_sheet=workbook2.Sheets( "Sheet1" )
Set workbook3_sheet=workbook3.Sheets( "Sheet1" )
workbook1_rowcount=workbook1_sheet.usedrange.rows.count
For i=0 To workbook1_rowcount
      content=workbook1_sheet.range( "A1" ).offset(i,0).value
  If Not dic.Exists(content) Then
     dic.Add content,content
  End If
Next
workbook2_rowcount=workbook2_sheet.usedrange.rows.count
workbook2_columncount=workbook2_sheet.usedrange.columns.count
sheet3_row=0
For i=0 To workbook2_rowcount
      content=workbook2_sheet.range( "A1" ).offset(i,0).value
  If dic.Exists(content) Then  
     For j=0 To workbook2_columncount
         workbook3_sheet.range( "A1" ).offset(sheet3_row,j).value=workbook2_sheet.range( "A1" ).offset(i,j).value
       
     Next
         sheet3_row=sheet3_row+1
  End If
Next
workbook3.SaveAs(filename3)
workbook3.Close
workbook2.Close
workbook1.Close
Set workbook3=Nothing
Set workbook2=Nothing
Set workbook1=Nothing
Set excelObject=Nothing
Set dic=nothing
MsgBox  "finish"

1. 准备好两个对比文件

文件命令建议使用以下名称:1和2

clip_image006

1.Excel1文件内容:

clip_image008

2.Excel2文件内容:

clip_image010

2. 然后将脚本放入文件同一目录,双击执行

clip_image012

3. 双击执行,提示Finish,然后会在当前目录生成命名为:执行后的生成文件

clip_image014

4. 打开生成的文件,查看结果:

image



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1397282,如需转载请自行联系原作者

相关文章
|
2月前
|
Python
Excel中如何批量重命名工作表与将每个工作表导出到单独Excel文件
本文介绍了如何在Excel中使用VBA批量重命名工作表、根据单元格内容修改颜色,以及将工作表导出为独立文件的方法。同时提供了Python实现导出工作表的代码示例,适用于自动化处理Excel文档。
|
4月前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
148 10
|
9月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
1861 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
7月前
|
文字识别 Serverless 开发工具
【全自动改PDF名】批量OCR识别提取PDF自定义指定区域内容保存到 Excel 以及根据PDF文件内容的标题来批量重命名
学校和教育机构常需处理成绩单、报名表等PDF文件。通过OCR技术,可自动提取学生信息并录入Excel,便于统计分析和存档管理。本文介绍使用阿里云服务实现批量OCR识别、内容提取、重命名及导出表格的完整步骤,包括开通相关服务、编写代码、部署函数计算和设置自动化触发器等。提供Python示例代码和详细操作指南,帮助用户高效处理PDF文件。 链接: - 百度网盘:[链接](https://pan.baidu.com/s/1mWsg7mDZq2pZ8xdKzdn5Hg?pwd=8866) - 腾讯网盘:[链接](https://share.weiyun.com/a77jklXK)
776 5
|
7月前
|
文字识别 BI
【图片型PDF】批量识别扫描件PDF指定区域局部位置内容,将识别内容导出Excel表格或批量改名文件,基于阿里云OCR对图片型PDF识别改名案例实现
在医疗和政务等领域,图片型PDF文件(如病历、报告、公文扫描件)的处理需求广泛。通过OCR技术识别这些文件中的文字信息,提取关键内容并保存为表格,极大提高了信息管理和利用效率。本文介绍一款工具——咕嘎批量OCR系统,帮助用户快速处理图片型PDF文件,支持区域识别、内容提取、导出表格及批量改名等功能。下载工具后,按步骤选择处理模式、进行区域采样、批量处理文件,几分钟内即可高效完成数百个文件的处理。
769 8
|
9月前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分到不同的工作表中。本文通过一个示例代码展示了如何生成一个包含总成绩表和三个班级表的Excel文件。代码首先创建了一个包含学生姓名、班级和各科成绩的数据框,然后按班级分组,将每个班级的数据分别写入不同的工作表。最后,生成的Excel文件将包含四个工作表,分别为总成绩表和三个班级的成绩表。
157 6
按条件将Excel文件拆分到不同的工作表
|
9月前
|
Python
批量将不同的工作簿合并到同一个Excel文件
本文介绍如何使用Python的`pandas`库批量合并不同工作簿至同一Excel文件。通过模拟生成三个班级的成绩数据,分别保存为Excel文件,再将这些文件合并成一个包含所有班级成绩的总成绩单。步骤包括安装必要库、生成数据、保存与合并工作簿。
227 6
|
9月前
|
Python
按条件将Excel文件拆分到不同的工作表
使用Python的pandas库,可以轻松将Excel文件按条件拆分为多个工作表。本文通过一个具体示例,展示了如何根据学生班级将成绩数据拆分到不同的工作表中,并生成一个包含总成绩表和各班级成绩表的Excel文件。代码简洁明了,适合初学者学习和应用。
228 6
|
10月前
|
前端开发
实现Excel文件和其他文件导出为压缩包,并导入
实现Excel文件和其他文件导出为压缩包,并导入
187 1
|
10月前
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
746 4