生活中如何善用简单脚本,提高工作效率,分享一个实现自动分类的vbs脚本Demo

一、demo功能介绍

   在生活中或者工作之中,我们经常会遇到的一件事情就是查文件,或者说根据给定的文件,例如.txt文档、excel表格等文档,来进行分类,如果只是少量的工作量,那么手动给它分分类,手动找找,手动copy一下都是无所谓的。但是如果文件达到上百上千了呢,你是否还是愿意自己手动来进行这些操作呢,恐怕就费力不讨好了吧~~~
   如果你有过C/C++语言或者其他语言编程基础的话,相信你可以轻松的看懂本文,如果你还只是个小白的话,只要花点心思,相信你也可以学会的。以下就是我在生活中遇到的实际例子,需要根据给定的excel表格完成相应的操作,使用vbs脚本可以在windows系统上轻松的完成以上操作要求,读者可以根据所给的本文所给的Demo,触类旁通,举一反三,也写出属于自己的工作小工具吧,废话不多说,接下来就要详细介绍本文的Demo了。

要求: 根据excel表格中的内容,实现自动分类指定文件夹内的文件
输入: excel表格 、待分类文件
输出: 分类好文件的文件夹

例如:
(1)输入excel表格

test.xls

表格内容为:

(2)输入文件(此外示例为txt格式文件,实际上其他格式的文件均可)

(3)输出文件

二、vbs脚本基本语法介绍

(1)子函数创建

sub Name()//无返回值类型
...
end sub
function name()//返回值函数,返回值即为句柄:name
...
end function

以上两种类型的函数皆可以传参,即Name(n)

(2)常见运算符

1、算术运算符

+-*/    除
\    整除
mod  取余
^&    字符串连接符

2、比较运算符

>    大于
<    小于
=    等于
<>   不等于
>=   大于等于
<=   小于等于

3、逻辑运算符

not    非
and    与
or     或
xor    异或
eqv    等价
imp    隐含

(3)控制结构

1、条件语句

if(xxx)then //then必须与条件判断在同一行
...
end if
if(xxx)then
...
else
...
end if

2、循环语句

Do Until XXX
...
Loop
For i=1 To n step 1//从i到n,步长为1
...
Next

以上为最基本常见的语句,如有兴趣进一步了解,可以参考以下博文:VBS基本语法

三、Demo介绍

(1)子函数----getRow()

功能:获取excel表格中的有效数据行数

Function getRow()
rowCount =objWorkbook.ActiveSheet.UsedRange.Rows.Count
Dim Count:Count = 1
getRow = 0
Do Until Count > rowCount
       stringFlag = Left( objExcel.Cells(Count,2),10 )
       if( isDate( stringFlag )=True )then
            if(flagStart = 1)then
               flagStart = Count
            end if
       getRow = getRow + 1
       end if
      Count = Count +1
Loop
End Function

实现思路:

利用Left( Left( objExcel.Cells(Count,2),10 ) )函数
使用objExcel.Cells(Count,2)取出excel表格中第Count行,第2列中的字符串 (这里只取第2列中的数据,是因为表格内容排版格式原因,读者因根据具体情况具体分析)
再将取得的字符串从左开始,取10个字符长度的内容
遍历整个表格,当读取到的文本为 “日期” 类型的数据时,即判断为一行有效数据,并将最终的行数返回:

getRow = getRow + 1

注意:excel表格最左上角是:第1行,第一列,excel表中的汉字也为一个字符大小

(2)子函数----getFileNum(text)

功能:获取所需分类的文件内容

Function getFileNum(text)
Dim result(3),Count:Count = 1
num1 = 0
num2 = 0
num3 
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值