如何从单元格检索值到URL

时间:2019-06-13 07:49:00

标签: excel vba

我正在尝试使用API​​发送短信 http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=username&password=password&sendername=sender id&mobileno = 919999999999&message = Hello

我想从“ d”从工作簿的sheet7中的单元格获取mobileno,光标将位于同一行。只希望从“ d”中提取值并将其用作移动电话号码。

我在mobileno中找到了一个与硬编码号码配合使用的代码,但是在尝试提取该值时出现错误。任何帮助将不胜感激

Sub SendSms()    
    Dim URL As String
    Dim rng As Range

    URL = "http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=username&password=password&sendername=sender id&mobileno=& ThisWorkbook.Worksheets(7).rng.Row("d:d").Value & "&message=Hi test"

    Dim xml As Object
    Set xml = CreateObject("MSXML2.XMLHTTP")
    xml.Open "GET", URL, False
    xml.Send
End Sub

我需要代码从“ d:d:”中提取值以进行选择并用作mobileno和sms发出。

ps;我是VBA的新手,如果无法正确解释,请对不起。

1 个答案:

答案 0 :(得分:1)

首先,id&mobileno=之后的引号必须为:

Url = "http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=username&password=password&sendername=sender id&mobileno=" & ThisWorkbook.Worksheets(7).Rng.Row("d:d").Value & "&message=Hi test"

第二,这不是单元格ThisWorkbook.Worksheets(7).Rng.Row("d:d").Value的有效地址。因为d:d是一整列,但是您只能将一个单元格值放入URL中,而不能整列。

因此您必须使用

这样的具体单元格
ThisWorkbook.Worksheets(7).Range("D1").Value

或者您需要遍历D列以为D列中的每个号码发送短信。
注意:我将不做进一步解释,因为您会找到大量的教程如何遍历一列。

还要注意,Worksheets(7)是选项卡列表中的7ᵗʰ工作表。如果有人重新排列选项卡,则您的代码将失败。最好使用标签名称Worksheets("MySheetName")