欢迎光临韵绾网
详情描述

方法一:VBS直接发送HTTP请求

' wechat_robot.vbs
Option Explicit

' 企业微信机器人Webhook地址
Dim webhook_url
webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的机器人KEY"

' 发送文本消息
Sub SendTextMessage(content)
    Dim objHTTP, postData, response

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    objHTTP.open "POST", webhook_url, False
    objHTTP.setRequestHeader "Content-Type", "application/json"

    postData = "{""msgtype"": ""text"",""text"": {""content"": """ & content & """}}"

    objHTTP.send postData
    response = objHTTP.responseText

    ' 可选:记录发送结果
    MsgBox "发送结果:" & response
End Sub

' 发送Markdown消息
Sub SendMarkdownMessage(content)
    Dim objHTTP, postData

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    objHTTP.open "POST", webhook_url, False
    objHTTP.setRequestHeader "Content-Type", "application/json"

    postData = "{""msgtype"": ""markdown"",""markdown"": {""content"": """ & content & """}}"

    objHTTP.send postData
End Sub

' 使用示例
Call SendTextMessage("这是一条测试消息" & vbCrLf & "发送时间:" & Now())

方法二:结合Windows计划任务定时发送

1. 创建发送脚本

' send_notification.vbs
Dim content, currentTime
currentTime = Now()

' 根据时间设置不同的消息内容
If Hour(currentTime) = 9 And Minute(currentTime) = 0 Then
    content = "上午好!" & vbCrLf & "今日工作提醒:" & vbCrLf & "1. 晨会" & vbCrLf & "2. 项目进度检查"
ElseIf Hour(currentTime) = 17 And Minute(currentTime) = 30 Then
    content = "下班提醒:" & vbCrLf & "请提交今日工作日报" & vbCrLf & "时间:" & currentTime
End If

If content <> "" Then
    Dim objHTTP, webhook_url, postData
    webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的机器人KEY"

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    objHTTP.open "POST", webhook_url, False
    objHTTP.setRequestHeader "Content-Type", "application/json"

    postData = "{""msgtype"": ""text"",""text"": {""content"": """ & content & """}}"
    objHTTP.send postData
End If

2. 创建计划任务批处理文件

@echo off
REM 创建Windows计划任务
REM 每天早上9点执行
schtasks /create /tn "企业微信晨会提醒" /tr "wscript.exe C:\path\to\send_notification.vbs" /sc daily /st 09:00

REM 每天下午5:30执行
schtasks /create /tn "企业微信日报提醒" /tr "wscript.exe C:\path\to\send_notification.vbs" /sc daily /st 17:30

方法三:完整定时消息系统

' wechat_scheduler.vbs
' 完整定时消息系统

Const WEBHOOK_KEY = "你的机器人KEY"
Const LOG_FILE = "C:\temp\wechat_send.log"

' 主函数
Sub Main()
    Dim scheduleTime, message

    ' 设置定时消息
    scheduleTime = "09:00"  ' 每天9点
    message = "工作提醒:" & vbCrLf & _
              "• 今日重点工作:" & vbCrLf & _
              "• 会议安排:" & vbCrLf & _
              "发送时间:" & Now()

    ' 检查是否到发送时间
    If FormatDateTime(Now(), 4) = scheduleTime Then
        SendToWeChat message
        LogMessage "消息已发送:" & message
    End If
End Sub

' 发送到企业微信
Sub SendToWeChat(content)
    Dim objHTTP, webhook_url, postData, response

    webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=" & WEBHOOK_KEY

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    objHTTP.open "POST", webhook_url, False
    objHTTP.setRequestHeader "Content-Type", "application/json"

    ' 构建JSON数据
    postData = "{""msgtype"": ""text"",""text"": {""content"": """ & _
               EscapeJSON(content) & """}}"

    objHTTP.send postData
    response = objHTTP.responseText

    Set objHTTP = Nothing
End Sub

' 转义JSON特殊字符
Function EscapeJSON(str)
    If IsNull(str) Then Exit Function
    str = Replace(str, "\", "\\")
    str = Replace(str, """", "\""")
    str = Replace(str, vbCrLf, "\n")
    str = Replace(str, vbTab, "\t")
    EscapeJSON = str
End Function

' 日志记录
Sub LogMessage(msg)
    Dim fso, logFile
    Set fso = CreateObject("Scripting.FileSystemObject")

    If fso.FileExists(LOG_FILE) Then
        Set logFile = fso.OpenTextFile(LOG_FILE, 8) ' 8=追加
    Else
        Set logFile = fso.CreateTextFile(LOG_FILE)
    End If

    logFile.WriteLine Now() & " - " & msg
    logFile.Close
End Sub

' 运行主函数
Call Main()

方法四:使用Markdown格式发送更丰富的消息

' send_markdown.vbs
Dim webhook_url, markdownContent
webhook_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的机器人KEY"

markdownContent = _
"# 每日工作提醒" & vbCrLf & _
"**时间:** " & Now() & vbCrLf & _
"---" & vbCrLf & _
"## 今日任务" & vbCrLf & _
"1. 项目进度检查" & vbCrLf & _
"2. 团队会议" & vbCrLf & _
"3. 代码评审" & vbCrLf & _
"---" & vbCrLf & _
"> 温馨提示:请按时完成今日工作"

SendMarkdown markdownContent

Sub SendMarkdown(content)
    Dim objHTTP, postData

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    objHTTP.open "POST", webhook_url, False
    objHTTP.setRequestHeader "Content-Type", "application/json"

    postData = "{""msgtype"": ""markdown"",""markdown"": {""content"": """ & _
               EscapeJSON(content) & """}}"

    objHTTP.send postData

    If objHTTP.Status = 200 Then
        MsgBox "消息发送成功!"
    Else
        MsgBox "发送失败,状态码:" & objHTTP.Status
    End If
End Sub

Function EscapeJSON(str)
    str = Replace(str, "\", "\\")
    str = Replace(str, """", "\""")
    str = Replace(str, vbCrLf, "\n")
    EscapeJSON = str
End Function

部署步骤:

获取Webhook地址

  • 在企业微信群添加机器人
  • 复制生成的Webhook URL中的KEY参数

替换代码中的KEY

  • 将所有代码中的你的机器人KEY替换为实际KEY

测试脚本

wscript.exe wechat_robot.vbs

设置定时任务

  • 方法一:使用Windows计划任务
  • 方法二:在VBS中使用循环和WScript.Sleep实现定时(不推荐,会持续占用资源)

注意事项:

安全提醒:不要在代码中硬编码敏感信息,可以考虑从配置文件读取 编码问题:中文字符需要确保文件保存为ANSI编码 网络要求:执行机器需要能访问企业微信API 错误处理:建议添加更完善的错误处理和日志记录

这些方法可以根据实际需求选择使用,方法一最简单直接,方法二结合系统计划任务更稳定,方法三功能更完整。

相关帖子
蚌埠市个体工商户注销-个体工商户注册,全程代办,收费合理
蚌埠市个体工商户注销-个体工商户注册,全程代办,收费合理
自由职业者想缴社保,具体的缴费门槛和步骤是怎样的?
自由职业者想缴社保,具体的缴费门槛和步骤是怎样的?
蚌埠市食品经营许可证代办|股份有限公司注册,专业代办公司,价格合理
蚌埠市食品经营许可证代办|股份有限公司注册,专业代办公司,价格合理
蚌埠市网站建设推广服务公司@网站优化,价格透明
蚌埠市网站建设推广服务公司@网站优化,价格透明
桃树生命周期:从幼苗到盛果期的生长阶段与管理要点
桃树生命周期:从幼苗到盛果期的生长阶段与管理要点
镇海区网站建设本地公司@AI数字人制作短视频,提供一站式建站服务
镇海区网站建设本地公司@AI数字人制作短视频,提供一站式建站服务
大风、暴雨、暴雪等不同颜色的预警,对应的停工停课标准是怎样的?
大风、暴雨、暴雪等不同颜色的预警,对应的停工停课标准是怎样的?
Windows Server 2025 安装AD CS角色和颁发证书
Windows Server 2025 安装AD CS角色和颁发证书
普洱市商标注册|股份有限公司注册,正规代办公司
普洱市商标注册|股份有限公司注册,正规代办公司
成都市食品卫生许可证办理电话-个体户注册,不成功不收费,专业代办
成都市食品卫生许可证办理电话-个体户注册,不成功不收费,专业代办
镇江市公司注册资本变更办理-公司注册服务,24小时在线,欢迎电话咨询
镇江市公司注册资本变更办理-公司注册服务,24小时在线,欢迎电话咨询
鹤壁市品牌网站建设公司@小视频营销推广,多年建站经验
鹤壁市品牌网站建设公司@小视频营销推广,多年建站经验
Nginx之https证书配置实现
Nginx之https证书配置实现
SQL中表的字符串内置函数详解
SQL中表的字符串内置函数详解
遭遇理发店、健身房老板跑路,卡里余额该如何有效维权和追讨?
遭遇理发店、健身房老板跑路,卡里余额该如何有效维权和追讨?
2026年考取哪些新兴行业的职业资格证书可以申请技能提升补贴?
2026年考取哪些新兴行业的职业资格证书可以申请技能提升补贴?
Pandas基础使用指南之排序、字符串日期处理和文件合并拆分技巧
Pandas基础使用指南之排序、字符串日期处理和文件合并拆分技巧
2026年农村五保户的供养补助标准是否有新的调整,大概是多少?
2026年农村五保户的供养补助标准是否有新的调整,大概是多少?
鹰潭市python开源商城二次开发@做网站,定制开发
鹰潭市python开源商城二次开发@做网站,定制开发
Solaris10如何更改子网掩码?Solaris10更改子网掩码的方法
Solaris10如何更改子网掩码?Solaris10更改子网掩码的方法