首页 > 解决方案 > Excel VBA 向 Whatsapp 发送短信

问题描述

我设计了一个代码,可以将消息从 excel 发送到 WhatsApp 到联系人列表,它适用于单个联系人,但是当添加多个联系人时,它不会移动到该联系人,而是将其他联系人姓名和消息粘贴到第一个联系人的消息框。这是 excel 视图,当我按下按钮时,Whatsapp 网页的输出不会按图片所示工作。

在此处输入图像描述

我知道有一些小错误,但对解决此问题的任何支持将不胜感激。这是代码

Sub Test()

    Dim text As String
    Dim contact As String
    text = Range("C2").Value
    ActiveWorkbook.FollowHyperlink Address:=" https://web.whatsapp.com/"
    If MsgBox("Is WhatsApp Loaded?" & vbNewLine & vbNewLine & "Press No To Cancel", vbYesNo + vbQuestion + vbSystemModal, "WhatsApp") = vbYes Then
        Fazer (100)
        startrow = 2
        startcol = 2
        Do Until Sheets(1).Cells(startrow, 1) = ""
            contact = Cells(startrow, 1)
            text1 = Sheets(1).Cells(startrow, startcol).Value
            Fazer (3000)
                Call SendKeys("{TAB}", True)
            Fazer (1000)
                Call SendKeys(contact, True)
            Fazer (1000)
                Call SendKeys("~", True)
            Fazer (1000)
                Call SendKeys(text1, True)
            Fazer (1000)
                Call SendKeys("~", True)
            Fazer (1000)
            startrow = startrow + 1
        Loop
    Else
    End If
End Sub

Function Fazer(ByVal Acao As Double)
    Application.Wait (Now() + Acao / 24 / 60 / 60 / 1000)
End Function
    
    

标签: excelvbawhatsappsendkeys

解决方案


您还可以使用 WhatsApp API 并避免打开 wpp 网页(在 ActiveWorkbook.FollowHyperlink 地址:=" https://web.whatsapp.com/"),很多“发送键”和“等待”方法。

下载:

https://www.whatsapp.com/download

在您的手机“加载”的情况下使用 InternetExplorer 和 API,电话号码的链接不应包含特殊字符(查看文档)

看这个简单的例子:

Sub wpp()
    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application") 'Create object IE
    IE.navigate "whatsapp://send?phone=5511912341234&text=something" 'Send message "something" to this phone (Brazil)
    Application.Wait Now() + TimeSerial(0, 0, 3) 'ok just one wait and sendkeys :v
    SendKeys "~"
    'IE.Quit 'The navigate already kills the IE
    Set IE = Nothing 'Clear the object
End Sub

推荐阅读