Victoir 發表於 14-7-27 04:14

請問excel vba下單訊號出現後要傳簡訊的話應如何編寫?

大家好:請問excel vba程式下單訊號出現後要傳簡訊的話,程式應如何編寫?感謝大家(我有在網上爬了一些文章(但以下是採用中華電信vb語言的) 不過似乎都派不上用場)Public Class Form1    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click        Dim objSMS As Object       Dim ServerIp As String       Dim ServerPort As String       Dim UserID As String       Dim Passwd As String       Dim ret_code As Integer       Dim ret_description As String       Dim Tel As String       Dim Message As String        ServerIp = "api.hiair.hinet.net"       ServerPort = "8000"       UserID = "帳號"       Passwd = "密碼"        objSMS = CreateObject("HiAir.HiNetSMS")       ret_code = objSMS.StartCon(ServerIp, ServerPort, UserID, Passwd)       If ret_code = 0 Then         Tel = "0910128xxx"         Message = "簡訊測試"         ret_code = objSMS.SendMsg(Tel, Message)         ret_description = objSMS.Get_Message()         MsgBox (ret_description)       Else         ret_description = objSMS.Get_Message()         MsgBox (ret_description)       End If        objSMS.EndCon()    End Sub    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.Click        Dim objSMS As Object       Dim ServerIp As String       Dim ServerPort As String       Dim UserID As String       Dim Passwd As String       Dim ret_code As Integer       Dim ret_description As String       Dim Send_MSISDN As String        ServerIp = "api.hiair.hinet.net"       ServerPort = "8000"       UserID = "帳號"       Passwd = "密碼"        objSMS = CreateObject("HiAir.HiNetSMS")       ret_code = objSMS.StartCon(ServerIp, ServerPort, UserID, Passwd)       If ret_code = 0 Then         ret_code = objSMS.RecvMsg()         ret_description = objSMS.Get_Message()         Send_MSISDN = objSMS.Get_Send_MSISDN()         MsgBox (ret_description)         MsgBox (Send_MSISDN)       Else         ret_description = objSMS.Get_Message()         MsgBox (ret_description)       End If        objSMS.EndCon()   End SubEnd Class

hchsieh 發表於 14-7-27 11:17

你貼的程式碼應該就能發簡訊了
不過你有申請嗎?我記得hinet的簡訊服務是要申請的
才能用程式去發送

你用VBA的話,還要再裝一下hinet提供的SMS COM元件
不然 objSMS = CreateObject("HiAir.HiNetSMS") 這一行應該就會錯了
我沒用過VB或VBA發簡訊,以前我用的是Java,使用Hinet的企業簡訊服務
不過原理都一樣,只是透過HTTP來傳送而已 (國內的業者幾乎都是這樣做)
HiNet有提供SMS COM元件,表示他幫你把底層做好了,較方便使用

國內提供發簡訊的服務有很多家,有專門在做這方面服務的公司
費率比較便宜,如果你的交易訊號比較頻繁的話,建議找便宜的
不然就是換別的通知方式,例如發送到Line或其他通訊軟體
不過這方面要自己去研究一下API

Victoir 發表於 14-7-27 13:53

「不然就是換別的通知方式,例如發送到Line或其他通訊軟體
不過這方面要自己去研究一下API」
您是說簡訊可以發到Line或Skype的GROUP嗎?
感謝

hchsieh 發表於 14-7-27 16:39

Victoir 發表於 14-7-27 13:53 static/image/common/back.gif
「不然就是換別的通知方式,例如發送到Line或其他通訊軟體
不過這方面要自己去研究一下API」
您是說簡訊可 ...

我說的是發送給單一收訊方
能不能發到group這個我不確定
有API的話理論上應該是要提供才對

不過我剛查了一下,Line API好像是要申請的,企業級的服務
印象中以前有看過third-party提供的API,免申請,但現在不知道有沒有
我想可能是現在詐騙太多,這種API的使用限制愈來愈嚴格了吧

Skype的API我查了一下,要關閉了?怎麼回事?
https://developer.skype.com/

其他的軟體也有API,像what'sapp、wechat

你再自己研究吧,東西太多了...

sanyulin 發表於 14-8-6 11:41

哇塞!!! VBA 可以發簡訊,實在太無敵了

hsiehtekun 發表於 14-8-6 12:18

VBA跑發簡訊的功能?真是太利害了,原來還能這樣使用,學起來,哈~
頁: [1]
查看完整版本: 請問excel vba下單訊號出現後要傳簡訊的話應如何編寫?