Sub SendSMS(MobileNumber As String, Message As String) MSComm1.CommPort = 10 'select the port it may change case to case MSComm1.PortOpen = True ' Open port MSComm1.Output = "AT" & Chr$(13) MSComm1.Output = "ATZ" & Chr$(13) MSComm1.Output = "ATE0" & Chr$(13) MSComm1.Output = "AT+CGREG=0" & Chr$(13) MSComm1.Output = "AT&W" & Chr$(13) MSComm1.Output = "AT+CMGF=1" & Chr$(13) MSComm1.Output = "AT+CSCS=" & Chr$(34) & "GSM" & Chr$(34) & Chr$(13) MSComm1.Output = "AT+CMGS=" & MobileNumber & Chr$(13) 'mobile number and enter character MSComm1.Output = "AT+CMGS=" & Message & Chr$(26) ' Message and ctrl+z character 'Sleep 1000 ' USE API End Sub ------------------------------------------------- Không gởi tin nhắn được, mình đã thử với chương trình Terminal câu lênh ok, chuyển qua VB6 thì ... không tài nào send được
Bạn lập code gửi lệnh AT ra thiết bị sai rồi, để gửi được SMS thì sau khi open thành công có 4 bước AT+ CGMF=1 để lập chế độ AT+CGMS="số gửi tới" "nội dung gửi" chr(26) Trong code của bạn bị sai ở cái code này: MSComm1.Output = "AT+CMGS=" & Message & Chr$(26) ' Message and ctrl+z character vì lệnh AT+CMGS lúc này đang chờ bạn gửi tiếp nội dung tin nhắn và phím ctrl+z, nếu bạn lại dùng tiếp cú pháp AT+CGMS để gửi tiếp thì hóa ra là lệnh chưa xong đã lập lệnh AT mới à? Bạn chỉ cần sửa thành để hoàn thiện: MSComm1.Output = Message & Chr$(26)