Board logo

標題: [發問] 請問如何把超連結變成VBA指令 [打印本頁]

作者: samtien    時間: 2010-8-6 20:54     標題: 請問如何把超連結變成VBA指令

網路簡訊有提供API的使用方式
A1 = http://www.smsgo.com.tw/sms_gw/sendsms.asp?username=帳號&password=密碼&dstaddr=手機號碼,"&encoding=BIG5,&smbody=簡訊內容
我就用excel把我要傳的簡訊資料做成以上這行文字
B2 = =HYPERLINK(A1,"簡訊")

這樣我就完成了一個超連結,只要滑鼠點一下就會把我要發的簡訊發出去
可是當有很多連結的時候一直用滑鼠點很麻煩

請問各位先進,如何用VBA的語法達到送出http的指令,如果有10通簡訊要發我就寫一個迴圈一次發完
作者: kimbal    時間: 2010-8-6 22:27

  1.         Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
  2.         URL = "http://www.smsgo.com.tw/sms_gw/sendsms.asp?username=" & 帳號 & _
  3.                 "&password=" & 密碼 & "&dstaddr=" & 手機號碼 & "&encoding=BIG5&smbody=" & 簡訊內容
  4.         objHTTP.Open "POST", URL, False
  5.         objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
  6.         objHTTP.send ("")
複製代碼

作者: samtien    時間: 2010-8-8 21:14

kimbal 發表於 2010-8-6 22:27



感謝K大的回答
想請問URL裡面的內容可以用cell.value去代入嗎?
是直接打進去就好還是要怎麼設?
作者: kimbal    時間: 2010-8-9 00:38

如下面頭4句
把帳號,密碼,手機號碼,簡訊內容分別輸入a1,a2,a3,a4
  1. 帳號 = [A1]
  2. 密碼 = [A2]
  3. 手機號碼=[A3]
  4. 簡訊內容=[A4]
  5.         Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
  6.         URL = "http://www.smsgo.com.tw/sms_gw/sendsms.asp?username=" & 帳號 & _
  7.                 "&password=" & 密碼 & "&dstaddr=" & 手機號碼 & "&encoding=BIG5&smbody=" & 簡訊內容
  8.         objHTTP.Open "POST", URL, False
  9.         objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
  10.         objHTTP.send ("")
複製代碼
看來你是vba新手~
這個網站可以學習一下如何用vba
http://yuan.yocjh.kh.edu.tw/%B1%D0%A7%F7/vba/index.htm
作者: samtien    時間: 2010-8-9 14:20

Sub SMSGO()

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    URL = "http://www.smsgo.com.tw/sms_gw/sendsms.asp?username=*****&password=*****&dstaddr=" & Cell(S5).Value & "&encoding=BIG5&smbody=" & Cell(U5).Value
    objHTTP.Open "POST", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.send ("")

End Sub

我把您的寫法寫到模組裡面
可是F5測試的時候他寫"編譯錯誤" "沒有定義這個Sub或Function"
我有哪裡寫錯嗎?
作者: samtien    時間: 2010-8-9 14:29

搞定了~會發出簡訊了
我再波一次我的程式碼

Sub smsgo()

    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
    Dim URL As String
    URL = Range("V5").Value
    objHTTP.Open "POST", URL, False
    objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
    objHTTP.send ("")

End Sub

我用Excel的函式把http後面整串整理在V5這個欄位
可是送出後到我的手機一看所有的中文字都變成亂碼了,請問這是甚麼原因?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)