按键精灵之识别图片签名

//本脚本的目的是,将OA答复列表中的图片签名识别为文字签名,便于后续替换修改。
//使用过程中,将碰到的图片签名截图保存并且命名为对应姓名,然后脚本将自动识别图片签名。
//图片签名排版为右对齐,为了提高效率,只需识别右侧区域。
//截图文件的命名形式为:某某某.bmp  
//翻页进度条的主体颜色为D1D1D1,
//翻页进度条的轨道最底端的坐标和颜色为(1916,1036,"FFFFFF")。
//第一步,定义文件目录、签名区域坐标、翻页进度条最底端的坐标和颜色。
mulu = "D:\OA\OA签名\"
x1 = 1426
y1 = 108
x2 = 1567
y2 = 1006
x3 = 1916
y3 = 1036
yanse = "FFFFFF"
//第二步,遍历目录中的所有截图文件(最后一个数组是空的) 
wenjianming = Lib.文件.遍历指定目录下所有文件名(mulu)
//第三步,翻页到顶部,Ctrl+Home
KeyDown 17, 1
KeyPress 36, 1
KeyUp 17, 1
Delay 500
//第四步,将每个截图文件都查找一遍
yema = 1
lianjieming = ""
Rem 查找 
For i = 0 To UBound(wenjianming)-1    
    FindPic x1, y1, x2, y2, mulu & wenjianming(i), 0.9, intX, intY    
    If intX > 0 And intY > 0 Then 
        lianjieming = lianjieming & " " & yema & intY & ":" & Left(wenjianming(i), Len(wenjianming(i))-4)
        wenjianming(i)=""
    End If
Next
//第五步,判断滚动条是否到底,没有的话,下翻一页,再次识别 
IfColor x3, y3, yanse, 0 Then
    yema = yema + 1
    KeyPress "PageDown", 1
    Delay 200
    Goto 查找
End If
//第六步,判断查找到的图片签名数量是否为0
If lianjieming = "" Then 
    xingming = Array(0,0)
    xing = Array(0,0)
    ming = Array(0,0)
    Goto 输出
End If
//第七步,排列签名,按页码和Y轴坐标从小到大排列(查找是按文件顺序,此时按排版顺序)
//首先,将lianjieming分割到一个数组中,再定义两个相同长度的数组,用空格分割的数组,第一个元素为零长度字符
xingming = Split(lianjieming, " ")
xing = xingming
ming = xingming
For i = 1 To UBound(xingming)    
    fenge = Split(xingming(i), ":")
    xing(i) = Cint(fenge(0))
    ming(i) = fenge(1)
Next
//然后,用冒泡法对数字进行排序,姓名跟着排序,用jiaohuan=1标记排序未完成,所有的姓名按顺序保存在数组ming中
Do  
    jiaohuan = 0
    For i = 1 To UBound(xingming)-1
        j = i + 1
        qian = xing(i)
        hou = xing(j)
        zuo  = ming(i)
        you = ming(j)
        If qian > hou Then 
            xing(i) = hou
            xing(j) = qian
            ming(i) = you
            ming(j) = zuo
            jiaohuan = 1
        End If
    Next
Loop While jiaohuan = 1
//第八步,调试输出 
Rem 输出
TracePrint lianjieming
For i = 1 To UBound(xingming)
   TracePrint xingming(i)
Next
For i = 1 To UBound(xing)
   TracePrint xing(i)
Next
For i = 1 To UBound(ming)
   TracePrint ming(i)
Next

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值