编程语言应用

首页 » 常识 » 预防 » 如何利用DOS批处理ExcelVBA实
TUhjnbcbe - 2023/6/15 21:44:00
白癜风治疗方案 http://pf.39.net/bdfyy/bdfyw/160313/4786498.html

上次节课我们简单介绍了下DOS批处理。我们学习DOS批处理是为了实现更高效更智能的办公。今天我们来看看如何利用DOS批处理结合EXCEL来实现高效办公吧。

01我们来看个简单的例子:

任务要求:

将c:\tmp\data.txt打开、分列处理。筛选出零库存。另存为0库存报表.xlsx在d:\data\temp\创建以当前日期使命的文件夹将生成的0库存报表.xlsx移动到d:\data\temp\当前日期文件夹

02本例实现步骤:

在C:\tmp\创建文本文件——生成0库存报表.txt

编写如下批处理脚本代码:

echooff

cd\

c:

cdC:\tmp’将当前目录设置在C:\tmp

start生成0库存报表.xlsm’运行代VBA脚本可生成0库存报表的程序文档。

mdd:\data\%date:~0,4%%date:~5,2%%date:~8,2%‘在d:\data下创建以当天日期命名的文件夹。

move0库存报表.xlsxd:\data\%date:~0,4%%date:~5,2%%date:~8,2%’将生成的最终报表——0库存报表.xlsx移动到d:\data\当天日期命名的文件夹

startd:\data\%date:~0,4%%date:~5,2%%date:~8,2%打开d:\data\当天日期命名的文件夹。

echoon

如图:

将生成0库存报表.txt扩展名改为.cmd或.bat,本例改为:生成0库存报表.cmd

03生成0库存报表的VBA程序文档

新建生成0库存报表.xlsx

按ALT+F11,进入VBE编程环境,编写如下VBA代码:

Subauto_open()

Application.DisplayAlerts=False

Workbooks.OpenTextFilename:=C:\tmp\data.txt,Origin:=,tartRow:=1,DataType:=xlDelimited,TextQualifier:=xlDoubleQuote,ConsecutiveDelimiter:=False,Tab:=True,Semicolon:=False,Comma:=True,Space:=False,Other:=False,FieldInfo:=Array(Array(1,1),Array(2,1),Array(3,1),Array(4,1),Array(5,1),Array(6,1),Array(7,1),Array(8,1)),TrailingMinusNumbers:=True用EXCEL打开文本文件data.txt并分列。Cells.Select全选

Selection.AutoFilter

ActiveSheet.Range($A$1:$H$).AutoFilterField:=7,Criteria1:==0,Operator:=xlAnd筛选库存为0的列表。

Cells.Select全选

Selection.Copy复制

Workbooks.Add新建文档

Range(a1).Select

Selection.PasteSpecialPaste:=xlPasteValues,Operation:=xlNone,SkipBlanks:=False,Transpose:=False粘贴

Application.CutCopyMode=False

ActiveWorkbook.SaveAsFilename:=C:\tmp\0库存报表.xlsx,FileFormat:=xlOpenXMLWorkbook,CreateBackup:=False另存出0库存报表

Workbooks(0库存报表.xlsx).Close关闭另存出0库存报表

ActiveWorkbook.Close关闭当前工作表

ActiveWorkbook.Close关闭当前工作表

Application.DisplayAlerts=True

EndSub

如下图所示:

04

将生成0库存报表.xlsx另存为:生成0库存报表.xlsm。

在excel文件-选项-信任中心-宏设置-启用所有宏

如下图所示:

至此就完成了本例的制作。

鼠标双击生成0库存报表.cmd即可实现

将c:\tmp\data.txt打开、分列处理。筛选出零库存。另存为0库存报表.xlsx在d:\data\temp\创建以当前日期使命的文件夹将生成的0库存报表.xlsx移动到d:\data\temp\当前日期文件夹

05思路

本例是利用DOS批处理调用包含宏或VBA代码的EXCEL文档实现高效办公。此方法是比较常见实用的方案希望对大家提高工作效率有所启发和帮助。

喜欢我的文章请

1
查看完整版本: 如何利用DOS批处理ExcelVBA实