Страницы: 1 2 След.
RSS
Отправить сообщение в WhatsApp макросом
 
Наткнулся в интернете на этот файл с макросом, который отправляет сообщение из экселя на Whatsapp. Не знаете, как изменить его под свои предпочтения, допустим, мне нужно, чтобы автоматически отправлялось сообщение на Whatsapp при заполнении в таблице диапазона ячеек  B1:R1, где в ячейке R1 сумма, которую нужно отправить на Whatsapp с текстом сообщения, как это сделать, чтобы текст сообщения и номер Whatsapp были в самом коде?
 
Попробуйте.
Вредить легко, помогать трудно.
 
nbaengineer, у меня не получилось
 
nbaengineer, спасибо, а можно чтобы макрос работал автоматически и реагировал на такое событие, как заполнение диапазона ячеек B1:R1?
Изменено: Ибрагим Белхороев - 06.07.2021 16:32:08
 
Ибрагим Белхороев,а как в группу отправить а не контакту?
 
Тимофеев, честно сказать, я сам не знаю, просто наткнулся на этот код в интернете.
 
Думаю здесь надо обращение к группе как то сделалть а не к номеру:
ThisWorkbook.FollowHyperlink "https://api.whatsapp.com/send?phone=" & Phone
 
Цитата
Тимофеев написал:
как в группу отправить а не контакту?
Судя по ответам здесь это можно было делать по бизнес подписке на API WA но в 2020 году тему прикрыли.
Вот горшок пустой, он предмет простой...
 
контакту отправляет же по pfone думаю и по group можно отправить
Задержки секунды хватит
Изменено: Тимофеев - 06.07.2021 16:36:53
 
Ибрагим Белхороев, на лист где отправляется сообщения.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B1:R1")) Is Nothing Then
        Call SendAllMassages
    End If
End Sub
Вредить легко, помогать трудно.
 
nbaengineer, этот макрос работает, просто мне нужно, чтобы он применялся, когда ячейки от B1 до R1 заполнены.
И еще можно чтобы Whatsapp запускался не через браузер, а приложение, вроде я изменил эту строку, но появляется ошибка "не удается открыть указанный файл"
Код
 ThisWorkbook.FollowHyperlink ("C:\Users\EXPRESSING\AppData\Local\WhatsApp\WhatsApp.exe") & Phone & "&text=" & Message
Изменено: Ибрагим Белхороев - 23.07.2021 14:14:47
 
Ибрагим Белхороев,
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Range("B1:R1")
If Not Intersect(Target, rng) Is Nothing Then
    If WorksheetFunction.CountA(rng) = 17 Then
           Call SendAllMassages
    End If
End If
End Sub
Вредить легко, помогать трудно.
 
nbaengineer, спасибо.
 
Щас бы знать, как отправлять сообщение через приложение WhatsApp. а не браузер.

nbaengineer, вот у меня в прикрепленном файле таблица, не знаете, как изменить этот код макроса, чтобы при заполнений строк указывалась сумма к перечислению, которая находится справа конца таблицы ?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Range("B1:R1")
If Not Intersect(Target, rng) Is Nothing Then
    If WorksheetFunction.CountA(rng) = 17 Then
           Call SendAllMassages
    End If
End If
End Sub

Sub SendAllMassages()

Dim i As Integer
Dim Phone As String
Dim Message As String
Dim iV As Double
'i = 3 'Начинаем перебор строк с третьей строки
'While Cells(i, 2) <> "" 'Запускаем цикл, который будет работать пока не увидит в очередной i-той ячейке второго столбца пустое значение
'    Phone = CStr(Cells(i, 2)) 'Номер телефона из i-ой строки второго столбца сохраняем в переменную Phone
'    Message = CStr(Cells(i, 3)) 'Текст сообщения из i-ой строки третьего столбца сохраняем в переменную Message
'    Call SendWhatsappMassage(Phone, Message) 'Вызываем функцию отправки сообщения
'    i = i + 1 'Добавляем к счетчику строк еденицу
'Wend 'Переходим в начало цикла

iV = Range("R1").Value
Phone = "+79999999999"
Message = "Напоминаю, что необходимо произвести оплату по продаже груза от " & Format(Now, "[$-FC22]DD.MM.YY " & "года") & ", сумма к перечислению: " & iV
Call SendWhatsappMassage(Phone, Message)

End Sub

Sub SendWhatsappMassage(Phone As String, Message As String)
    
    ThisWorkbook.FollowHyperlink "https://api.whatsapp.com/send?phone=" & Phone & "&text=" & Message 'Переходим по ссылке

    Application.Wait (Now + TimeValue("00:00:10")) 'Ждем, когда отработает браузер
    ActiveWindow.Application.SendKeys ("(~)")      'Нажимаем кнопку Enter для перехода в приложение Whatsapp
    Application.Wait (Now + TimeValue("00:00:10")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("(~)")      'Опять Нажимаем кнопку Enter для отправки сообщения
    Application.Wait (Now + TimeValue("00:00:10")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("%({TAB})") 'Жмем alt+tab для перехода обратно в браузер
    Application.Wait (Now + TimeValue("00:00:10")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("^({F4})")  'Жмем ctrl+F4 для того чтобы закрыть вкладку браузера, открытую ранее

End Sub
Изменено: vikttur - 07.07.2021 17:08:32
 
вопрос еще такой как перенос строки в сообщении обеспечить с ячейки макрос забирает только текст в строку даже если его писать через Alt+Enter
может в сообщение какой юнисимвол нужно вставлять отвечающий за перенос?
Изменено: vikttur - 09.07.2021 23:50:05
 
А что Whatapp тему прикрыл? Неделю назад всё работало, а сегодня нет :(
 
SergeyKa, да, у меня тоже щас не работает, ругается на строку перехода по ссылке, видимо Whatsapp что-то поменял в сервисах.
Изменено: Ибрагим Белхороев - 23.07.2021 14:14:00
 
все работает
 
Пожалуйста, пишите название непонятных и малознакомых вам программ правильно. Вот придёт через 2 дня человек на наш форум с вопросом - как ему отправить сообщение в программу Whatsapp. Что он должен написать в строке ПОИСКА ? слово "ватсап" (автор Ибрагим Белхороев) или "Whatapp" (автор SergeyKa - пропущена буква s) ?
Пишите название программ и ключевые слова грамматически правильно, чтобы люди, которые позже придут на форум через день, через год, через 20 лет и будут вводить ключевые слова в ПОИСК по форуму находили ваши темы, а не создавали однотипные темы, но уже с правильным названием.
Программа называется "WhatsApp". Не "васап", не "ватсап", не "вотсап", не "вутсуп", не "whatapp" (без буквы s). Ваш сленг никому не нужен на форуме.
Уважайте других людей и не усложняйте им жизнь вашим ненужным сленгом. Если не знаете, как правильно пишется - поищите в Интернете правильное название и скопируйте текст.
Изменено: New - 22.07.2021 23:51:03
 
Тимофеев, у меня нет, пару раз срабатывает, а потом начинает ругаться на строку перехода по ссылке.
 
Да действительно api.whatsapp.com/send уже не работает
Очень печально
Как  в этих строках не на браузер а на приложения для винды его переключать может кто знает?
ThisWorkbook.FollowHyperlink "https://api.whatsapp.com/send?phone="; & Phone & "&text=" & Message
Application.Wait (Now + TimeValue("00:00:01"))
Код
Sub SendWhatsappMassage(Phone As String, Message As String)
    ThisWorkbook.FollowHyperlink "https://api.whatsapp.com/send?phone=" & Phone & "&text=" & Message 'Переходим по ссылке
    Application.Wait (Now + TimeValue("00:00:01")) 'Ждем, когда отработает браузер
    ActiveWindow.Application.SendKeys ("(~)")      'Нажимаем кнопку Enter для перехода в приложение Whatsapp
    Application.Wait (Now + TimeValue("00:00:01")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("(~)")      'Опять Нажимаем кнопку Enter для отправки сообщения
    Application.Wait (Now + TimeValue("00:00:01")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("%({TAB})") 'Жмем alt+tab для перехода обратно в браузер
    Application.Wait (Now + TimeValue("00:00:01")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("^({F4})")  'Жмем ctrl+F4 для того чтобы закрыть вкладку браузера, открытую ранее
End Sub
Изменено: Тимофеев - 03.08.2021 13:53:35
 
так ответил автор на вопрос что делать:
Либо объект Браузер замучить, либо программу ватсап на компе сенд кеями насиловать.
Я бы такие способы сначала попробовал.
А потом бы наверное плюнул и пошел на платный сервис))
 
если переход по ссылке изменить на:
https://web.whatsapp.com/send?phone=" & Phone & "&text=" & Message
то в браузере открывается и пишется сообщение, но последнего клика отправить нет
 
Помогите доработать еще момент один при открытом в браузере Whatsapp web и запуска макроса создаются дополнительные окна открытия Whatsapp и не закрываются после выполнения кода. Все сообщения уходят
Рабочий вариант:
Код
Sub SendAllMassages()
Dim i As Integer
Dim Phone As String
Dim Message As String
i = 3 'Начинаем перебор строк с третьей строки
While Cells(i, 2) <> "" 'Запускаем цикл, который будет работать пока не увидит в очередной i-той ячейке второго столбца пустое значение
    Phone = CStr(Cells(i, 2)) 'Номер телефона из i-ой строки второго столбца сохраняем в переменную Phone
    Message = CStr(Cells(i, 3)) 'Текст сообщения из i-ой строки третьего столбца сохраняем в переменную Message
    Call SendWhatsappMassage(Phone, Message) 'Вызываем функцию отправки сообщения
    i = i + 1 'Добавляем к счетчику строк еденицу
Wend 'Переходим в начало цикла
End Sub
Sub SendWhatsappMassage(Phone As String, Message As String)
    ThisWorkbook.FollowHyperlink "https://api.whatsapp.com/send?phone=" & Phone & "&text=" & Message 'Переходим по ссылке
    Application.Wait (Now + TimeValue("00:00:05")) 'Ждем, когда отработает браузер
    ActiveWindow.Application.SendKeys ("(~)")      'Нажимаем кнопку Enter для перехода в приложение Whatsapp
    Application.Wait (Now + TimeValue("00:00:03")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("(~)")      'Опять Нажимаем кнопку Enter для отправки сообщения
    Application.Wait (Now + TimeValue("00:00:01")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("%({TAB})") 'Жмем alt+tab для перехода обратно в браузер
    Application.Wait (Now + TimeValue("00:00:01")) 'Ждем, когда отработает приложение
    ActiveWindow.Application.SendKeys ("^({F4})")  'Жмем ctrl+F4 для того чтобы закрыть вкладку браузера, открытую ранее
End Sub
Изменено: Тимофеев - 05.08.2021 10:57:01
 
2 Вариант как в примере с калькулятором на приложение Whatsapp на компьютере неплохо бы придумать
Код
Sub CallCalc()
    Dim ReturnValue
    ReturnValue = Shell("CALC.EXE") ' Запускает калькулятор.
    AppActivate ReturnValue         ' Активизирует калькулятор.
    SendKeys "%", True          ' Нажатие ALT (вызов меню)
    SendKeys "{RIGHT 2}", True  ' Нажатие стрелки вправо 2 раза
    SendKeys "{DOWN 2}", True   ' Нажатие стрелки вниз 2 раза
    SendKeys "{ENTER}", True    'Вызываем меню "О программе"
    'SendKeys "%{F4}", True  ' ALT+F4 закрывает окно "О программе"
    'SendKeys "%{F4}", True  ' ALT+F4 закрывает калькулятор
End Sub
 
Отправка работает если текст на английском, если текст русский - ругается на строку перехода по ссылке. Что-то с кодировкой не так.
Есть варианты как решить эту проблему?
 
Если проблема в кодировке. То вероятнее всего нужно перекодировать строку в UTF-8. Я  немного занимался перекодировкой, когда делал себе файл для хранения контактов телефона. Макросы написал Vcard Excel  Excel Vcard, но телефону надо Vcard в UTF-8. Причем UTF-8 2 видов с BOM  и без BOM. Разница в размере 2 байта
Код перекодировки надо искать у меня не помню сейчас где они, но он есть на сайте Hugo..Здесь Причем там несколько вариантов
 
Евгений Смирнов, это не сайт Hugo. Это сайт Игоря (https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=profile_view&UID=138) раньше у него был ник EducatedFool, сейчас просто Игорь.
У Hugo нет сайта пока )
P.S. На нашем форуме есть пользователи Hugo, а есть Игорь - это разные пользователи, хоть Hugo и зовут Игорь)
Изменено: New - 07.12.2021 09:42:26
 
Вячеслав П, Андрей, Есть макрос отправки в Телеграм с перекодировкой русского текста, возможно пригодится.
 
Здравствуйте

Можете сказать  вазможна ли отправить сообщение в WhatsApp макросом или уже нет.
У меня как-то не получается  
Страницы: 1 2 След.
Наверх