1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【VBS脚本】VBS复制Excel工作簿

【VBS脚本】VBS复制Excel工作簿

时间:2024-07-02 09:03:28

相关推荐

【VBS脚本】VBS复制Excel工作簿

近期因为业务的需要,需要做一个批处理复制Excel工作簿到一个汇总Excel里边,由于客户的环境不具备应用其他编程语言如Python等高效开发语言且希望操作越简单越好,因此就采用window原生的语言-VBS,本人也是初学者,望大神们指摘。

1、任何开发都要涉及后期运维,所以程序的执行情况要有据可循,因此第一步生成日志文件

dim logPathSet wshell = CreateObject("WScript.Shell") '初始化WScript对象Set objFSO = CreateObject("Scripting.FileSystemObject")'初始化FileSystemObject对象PathDesktop = wshell.specialfolders("Desktop")'获取本地桌面路径logPath = PathDesktop+"\脚本日志.txt" '设定日志文件保存路径'判断本地是否生成日志文件if not objFSO.FileExists(logPath) thenSet ObjFolder = objFSO.CreateTextFile(logPath)end ifSet objFile = objFSO.OpenTextFile(logPath,8)'打开文件,并设定方式为追加(8)objFile.WriteLine "开始进行作业处理" '根据程序执行情况写入log内容

2、开发过程中出现一些数据结构的应用,因此稍微再写一下

Set Dic = CreateObject("Scripting.Dictionary") '初始化字典结构Dic.Add key, value '添加键值对key-value到字典中Dic.Item(columnCValue) '获取键值对key对应的value值,同时也可以改变该key对应的value值for each key in Dic '遍历对应的字典msgBox "key:"&key&" value:"&Dic(key)Next

3、对Excel的读取和复制处理

Set xlsApp = CreateObject("Excel.Application")xlsApp.Visible = false '设定Excel是否可见,建议设定成false,可以提升执行效率xlsApp.DisplayAlerts = False '设定打开Excel是否显示警告窗口,建议设定为falseset excel1 = xlsApp.workbooks.open("此处填写要复制的Excel绝对路径")set excel2 = xlsApp.workbooks.open("此处填写复制到的Excel绝对路径")'>>>纯文本复制(不建议,因为会导致一些文本格式丢失,造成数据缺失)excel1.Worksheets("此处填写要复制的Excel工作簿").UsedRange.Copyexcel2.Sheets("要被复制的sheet名字").Activate'此处操作前需要生成一个新的sheet (excel2.Worksheets.Add)excel2.ActiveSheet.Range("A1").PasteSpecial'>>>带格式复制(优先选择)set fromSheet = excel1.Worksheets("要复制的sheet名字")set toSheet = excel2.Worksheets(excel2.Sheets.Count)fromSheet.Copy toSheet '复制到新的Excel里边会在当前文件中的sheet后边追加新的sheet,且sheet名字为原来复制到sheet的名字excel2.Sheets("复制的sheet名字").Name = "新的sheet名字" '修改复制后的sheet名字excel2.save() '保存复制后的Excel文件set fromSheet = nothing '清空复制sheet对象set toSheet = nothing '清空复制到sheet对象excel1.close '关闭Excel1excel2.close '关闭Excel2

以上,会根据后续业务继续更新!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。