Làm sao để dùng VBA trong Excel để gửi tin nhắn lên Zalo (Official Account)

Liên hệ QC

MinhKhai

Giải pháp Ếc-xào
Tham gia
16/4/08
Bài viết
937
Được thích
571
Kính gửi các chuyên gia VBA

Chỗ em vừa có phần mềm sử dụng nội bộ mà có thể gửi tin qua Zalo (thông qua Offical Account)
Cụ thể tài khoản Zalo của ai đón bấm vào nút Quan tâm của Official Account do bên em tạo trước là sẽ nhận được tin nhắn mỗi khi phần mềm gửi đến.
Em không có kiến thức về lập trình và cũng không có mã nguồn của phần mềm trên.
Không biết tại diễn đàn này có ai có thể dùng VBA để gửi được tin nhắn qua Zalo không ạ ? Nếu đã làm được rất mong được chia sẻ.

Xin chân thành cảm ơn

Xem thêm: https://developers.zalo.me
 
Upvote 0
Thật tình mà nói mình chỉ cọ quẹt một chút VBA thôi chứ các ngôn ngữ khác thì mình chịu thua, làm sao mà biết để ứng dụng em ơi.
Anh đăng ký API đi rồi tính nhé.

Phần này em cũng không rõ cách thức làm và ứng dụng như thế nào mong bác chỉ giúp
Cứ đọc và làm theo hướng dẫn của người ta thôi, vướng chỗ nào mình đăng lên đây mọi người cùng xem.
 
Upvote 0
Úi zời. Token anh phải giấu thật kỹ đi chứ. @@
Không sao đâu em, nó dài cả cây số đó, cái nó hiển thị có một phần thôi nên không ảnh hưởng đâu em. Cám ơn em.
Sau khi thực hiện đến đây mình lập trình thế nào nữa vậy em?
 
Upvote 0
Upvote 0
Cái này dường như nó hướng dẫn gửi đi 1 nội dung cho nhiều người, nhưng cái anh cần là gửi phiếu lương của mỗi người khác nhau có nội dung khác nhau bằng cách copy 1 phần trên sheet và gửi đi bằng hình ảnh cho riêng mỗi người.
Bước 1: Anh lấy danh sách user_id
Bước 2: Anh chuyển dữ liệu lương mỗi người thành 1 file ảnh
Bước 3: Anh dùng thư viện http nào có get, post ấy để code theo mẫu của họ.
Đại khái thế. :(

1607574214924.png
 
Upvote 0
Kính gửi các chuyên gia VBA

Chỗ em vừa có phần mềm sử dụng nội bộ mà có thể gửi tin qua Zalo (thông qua Offical Account)
Cụ thể tài khoản Zalo của ai đón bấm vào nút Quan tâm của Official Account do bên em tạo trước là sẽ nhận được tin nhắn mỗi khi phần mềm gửi đến.
Em không có kiến thức về lập trình và cũng không có mã nguồn của phần mềm trên.
Không biết tại diễn đàn này có ai có thể dùng VBA để gửi được tin nhắn qua Zalo không ạ ? Nếu đã làm được rất mong được chia sẻ.

Xin chân thành cảm ơn

Xem thêm: https://developers.zalo.me
Cái này dùng code bên Nga mình làm thành công rồi. Đang trong giai đoạn thử nghiệm. Khi hoàn thành mình sẽ đưa code cho Mọi người tham khảo
Thuật toán là: Tạo đường dẫn liên kết qua My SQL từ server Excel qua Máy chủ Zalo ( ZAlo sẽ cung cấp cho mình IP của tài khoản )
Khi người khác gửi đến zalo mình 1 cái gì đó. Thì đồng thời nó gửi qua My SQL luôn.
 
Upvote 0
Cái này dùng code bên Nga mình làm thành công rồi. Đang trong giai đoạn thử nghiệm. Khi hoàn thành mình sẽ đưa code cho Mọi người tham khảo
Thuật toán là: Tạo đường dẫn liên kết qua My SQL từ server Excel qua Máy chủ Zalo ( ZAlo sẽ cung cấp cho mình IP của tài khoản )
Khi người khác gửi đến zalo mình 1 cái gì đó. Thì đồng thời nó gửi qua My SQL luôn.
Như trên em nói, phần mềm bên em (loại mini thôi) có database là SQL server, đang gửi tin qua Zalo thông qua OA (Official Account).
Bác share được code hay cách làm thì không còn gì để nghi ngờ tính khả thi của nó. Cảm ơn bác trước
 
Upvote 0
MN có ai làm được chưa ạ, em đang quan tâm đến VBA excel gửi tin nhắn hàng loạt qua zalo. có ai làm được kiểu này ko ạ
 
Upvote 0
Upvote 0
Có làm gì nữa đâu bởi có biết gì nữa đâu mà làm bạn ơi.
Trong lúc chờ cách tốt hơn, anh Nghĩa thử dùng tạm đoạn code bên dưới xem sao. Code này em tự mò dựa trên kiến thức nhặt nhạnh hạn chế, tự thấy dài dòng và có phần "gà", mong anh Nghĩa và mọi người góp ý ạ.

Bước 1: tạo Funtion để đưa số điện thoại người nhận vào clipboard
Function Clipboard(Optional StoreText As String) As String
'PURPOSE: Read/Write to Clipboard
'Source: ExcelHero.com (Daniel Ferry)

Dim x As Variant

'Store as variant for 64-bit VBA support
x = StoreText

'Create HTMLFile Object
With CreateObject("htmlfile")
With .parentWindow.clipboardData
Select Case True
Case Len(StoreText)
'Write to the clipboard
.setData "text", x
Case Else
'Read from the clipboard (no variable passed through)
Clipboard = .GetData("text")
End Select
End With
End With

End Function

-Bước 2: Tạo code gọi app Zalo và paste số điện thoại người nhận vào khung tìm kiếm của Zalo
Sub ShowZalo()

Dim IE As Object
Dim strZaloID As String

strZaloID = "nhập số điện thoại người nhận"

Set IE = CreateObject("Shell.Application")
IE.ShellExecute "zalo:"
Set IE = Nothing

Application.Wait Now() + TimeSerial(0, 0, 1.3)

SendKeys "^f"
Clipboard strZaloID 'dùng Funtion tự tạo ở bước 1 để đưa số điện thoại người nhận vào clipboard
SendKeys "^v"
Application.Wait Now() + TimeSerial(0, 0, 1)
SendKeys "^f"
SendKeys "~"

End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Trong lúc chờ cách tốt hơn, anh Nghĩa thử dùng tạm đoạn code bên dưới xem sao. Code này em tự mò dựa trên kiến thức nhặt nhạnh hạn chế, tự thấy dài dòng và có phần "gà", mong anh Nghĩa và mọi người góp ý ạ.

Bước 1: tạo Funtion để đưa số điện thoại người nhận vào clipboard
Function Clipboard(Optional StoreText As String) As String
'PURPOSE: Read/Write to Clipboard
'Source: ExcelHero.com (Daniel Ferry)

Dim x As Variant

'Store as variant for 64-bit VBA support
x = StoreText

'Create HTMLFile Object
With CreateObject("htmlfile")
With .parentWindow.clipboardData
Select Case True
Case Len(StoreText)
'Write to the clipboard
.setData "text", x
Case Else
'Read from the clipboard (no variable passed through)
Clipboard = .GetData("text")
End Select
End With
End With

End Function

-Bước 2: Tạo code gọi app Zalo và paste số điện thoại người nhận vào khung tìm kiếm của Zalo
Sub ShowZalo()

Dim IE As Object
Dim strZaloID As String

strZaloID = "nhập số điện thoại người nhận"

Set IE = CreateObject("Shell.Application")
IE.ShellExecute "zalo:"
Set IE = Nothing

Application.Wait Now() + TimeSerial(0, 0, 1.3)

SendKeys "^f"
Clipboard strZaloID 'dùng Funtion tự tạo ở bước 1 để đưa số điện thoại người nhận vào clipboard
SendKeys "^v"
Application.Wait Now() + TimeSerial(0, 0, 1)
SendKeys "^f"
SendKeys "~"

End Sub
Đúng là dùng code này mở được Zalo, nhưng mình chưa biết cách đưa nội dung vào Zalo để gửi đi.
 
Upvote 0
Đúng là dùng code này mở được Zalo, nhưng mình chưa biết cách đưa nội dung vào Zalo để gửi đi.
Gửi Anh Nghĩa,
Anh Nghĩa thử thay code ở bước 2 bằng code bên dưới rồi chạy thử xem sao, em chạy thử thì thấy tin nhắn gửi đi được. Tuy nhiên, Em chưa thử dùng cách này để gửi tin nhắn hàng loạt nên cũng chưa rõ cách này có hiệu quả không.


Sub ShowZalo()

Dim IE As Object
Dim strZaloID As String
Dim strMessage As String

strZaloID = "nhập số điện thoại người nhận"
strMessage = "nhập nội dung tin nhắn"

Set IE = CreateObject("Shell.Application")
IE.ShellExecute "zalo:"
Set IE = Nothing

Application.Wait Now() + TimeSerial(0, 0, 1.3)

SendKeys "^f"
Clipboard strZaloID 'dùng Funtion tự tạo ở bước 1 để đưa số điện thoại người nhận vào clipboard
SendKeys "^v"
Application.Wait Now() + TimeSerial(0, 0, 1)
SendKeys "^f"
SendKeys "~"

'Đưa nội dung tin nhắn vào clipboard và gửi đi
Clipboard strMessage
Application.Wait Now() + TimeSerial(0, 0, 1)
SendKeys "^v"
Application.Wait Now() + TimeSerial(0, 0, 1)
SendKeys "~"

End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom