zoukankan      html  css  js  c++  java
  • VBS实现工作任务自动QQ提醒

         在现实工作中,大部分软件项目都流程化、版本化管理。每个人的工作任务都需要及时处理,才能够使工作高效的进行。为此就想到用VBS来实现工作任务自动QQ提醒的功能。其工作原理很简单:利用ADO实现数据库连接,来查询相关工作任务在不同环节的状态,通过建立QQ临时会话通知相关人员进行处理。这样就可以避免人工的去查询工作任务,使工作更加高效化。

         以下为该程序的源代码,将以下代码保存为如:Automatic_notification.vbs的vbs脚本文件。

    ''''''''''''''''''''配置信息部分''''''''''''''''''''
    Dim logo_six
    logo_six
    = "SG186" rem 项目名称配置
    dim item_code
    item_code
    = "330" rem 环节名称设置
    dim state
    state
    = "0" rem 工单处理状态设置
    dim at_emp_no
    at_emp_no
    = "32557" rem 指定处理人员设置
    dim qq_id
    qq_id
    = "420363096" rem 创建会话的QQ号码
    dim msg
    msg
    = "有工作任务,请及时处理!工单编号为:" rem 发送消息内容
    dim Data_Source
    Data_Source
    ="BRT170"
    '''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim res,cmd,sql
    Set res
    =createobject("adodb.recordset")
    Set cmd
    =createobject("adodb.command")
    Rem 连接数据库

    Dim Connstring
    Connstring
    ="Provider=OraOLEDB.Oracle.1;Password = query ;Persist Security Info=True; User ID = query ; Data Source = "&Data_Source&" ; Server = 172.19.201.170"
    Cmd.activeconnection
    = Connstring

    rem 查询语句
    sql
    ="SELECT wm_concat(app_no) app_no FROM sp_issue a WHERE substr(a.comp_code, 0, 4) IN (SELECT b.code_value FROM sp_code b WHERE b.logo_six = '"&logo_six&"') AND EXISTS (SELECT 1 FROM sp_process c WHERE c.item_code = '"&item_code&"' AND c.state = '"&state&"' AND c.at_emp_no='"&at_emp_no&"' AND c.app_no = a.app_no)"

    Cmd.CommandText
    =sql
    Dim returnapp_no
    Set res
    =Cmd.Execute()
    If res.EOF And res.BOF Then
    res.Close
    Else
    If res(
    0)<>"" Then
    returnapp_no
    =Cstr(res(0))
    On Error Resume Next
    str
    =""&msg&""&returnapp_no&""
    Set WshShell
    =WScript.CreateObject("WScript.Shell")
    WshShell.run
    "mshta vbscript:clipboardData.SetData("+""""+"text"+""""+","+""""&str&""""+")(close)",0
    WshShell.run
    "tencent://message/?Menu=yes&uin="&qq_id&"&Site=&Service=200&sigT=2a39fb276d15586e1114e71f7af38e195148b0369a16a40fdad564ce185f72e8de86db22c67ec3c1",0,true
    WScript.Sleep
    1000
    WshShell.SendKeys
    "^v"
    WshShell.SendKeys
    "%s"
    WshShell.sendkeys
    "{enter}"
    returnapp_no
    =Cstr(res(0))
    End If
    End If
    Set res
    =Nothing
    Set Cmd.activeconnection
    =Nothing
    Set Cmd
    =Nothing

          可以进行test.vbs的如下相关配置:

          a.Connstring中可以进行数据库连接配置。

          b.sql中进行查询语句的设置,wm_concat函数将多行转换成一行,使程序效率化,logo_six为项目编号,item_code为当前环节,state为工单处理状态。

          c.str中可以配置预期输出的信息。

          d.uin为指定建立临时会话,接收消息的QQ号码。

          程序功能实现了,问题是我们不能每时每刻人工的去执行Automatic_notification.vbs,为此就需要实现批处理。以下提供两个版本的批处理实现方式。

          版本一:VBS批处理实现方式

    set os = createobject("wscript.shell")
    do
    os.run
    "Automatic_notification.vbs"
    wscript.sleep
    3000*60
    loop

         版本二:BAT批处理实现方式

    @echo off
    :start
    start Automatic_notification.vbs
    ping
    127.1 -n 2000 >nul
    goto start

         将以上两种方式的代码分别保存为run.vbs、run.bat,直接运行run.vbs或者run.bat,其中run.vbs、run.bat中可以设置消息发送间隔时间。

    专注于自动化、性能研究,博客为原创,转载请注明文章来源于:http://www.cnblogs.com/Automation_software/ 只求在IT界有一个清闲的世界让我静心的去专研,不求功名利禄,只为心中的那份成就感及自我成长、自我实现的快感。
  • 相关阅读:
    ubuntu-18.04自动配置脚本
    Nodejs on windows 10
    终端接收FFMEPG推送的流出现音频卡顿问题
    FFMPEG 4.0 版本 支持PSI设置
    FFMPEG 支持https协议
    FFmpeg修改AC3编码的描述子
    FFMPEG 设置socket缓冲区
    将 h264 格式转换为YUV数据
    将 YUV 数据 编码为 h.264 格式
    将 PCM 数据编码为AAC格式
  • 原文地址:https://www.cnblogs.com/Automation_software/p/2010857.html
Copyright © 2011-2022 走看看