Office中国论坛/Access中国论坛

标题: 可否把IE窗口内接收的短信自动保存? [打印本页]

作者: bjcompass    时间: 2012-7-23 23:30
标题: 可否把IE窗口内接收的短信自动保存?
       某数据库嵌入了发送手机短信的http接口,在其中一个窗体的text2中填写用户短信帐号、text4中填写帐号密码,然后用命令按钮代码调用IE
Private Sub Command104_Click() '接收回复短信
Set ws = CreateObject("wscript.shell")
    ws.Run "iexplore.exe http://ipyy.net/ws/Get.aspx?CorpID=" & Me.Text2 & "&Pwd=" & Me.Text4 & ""   
End Sub
在打开的IE窗口内就可以显示出接收到的1条或多条回复短信,每条短信的格式都是:
||回复的手机号码#回复的内容#回复的日期时间#
        
       请问各位老师:可否建立一个表或者文本文件把IE窗口内接收到的短信自动保存到表里或文本文档?
谢谢!
作者: yehf    时间: 2012-7-24 08:40
[attach]49749[/attach]
作者: todaynew    时间: 2012-7-24 11:53
yehf 发表于 2012-7-24 08:40

有点意思。
作者: 叶海峰    时间: 2012-7-24 13:24
{:soso_e113:}
作者: jinzhanxi    时间: 2012-7-24 13:41
yehf 发表于 2012-7-24 08:40

相当犀利,真的受教了!
作者: bjcompass    时间: 2012-7-24 22:00
感谢网友yehf的帮助,例子收藏了,将来一定有用。
我试了一下,我这个网址:http://ipyy.net/ws/Get.aspx?CorpID=" & Me.Text2 & "&Pwd=" & Me.Text4 & " 移植到您的例子里,就打不开页面了。可能您的例子只能打开以 .html结尾的网址页面。
      我希望的是把收到的短信有格式的保存在表或者文本文档里,比如每一行一条短信。
作者: 叶海峰    时间: 2012-7-25 08:19
打不开你的网址,可能跟跟浏览器的设置有关,不存在只能打开html的网址.只要能浏览到页面,就能把浏览器解析到的内容返回文本,根据文本在进行截取就是了
作者: bjcompass    时间: 2012-7-25 12:41
呵,真不好意思,又来求教:
我刚才试了一次我的命令按钮代码:
Private Sub Command1_Click()  '查询短信余额
Set ws = CreateObject("wscript.shell")
ws.Run "iexplore.exe http://ipyy.net/WS/SelSum.aspx?CorpID=D0030&Pwd=123456"
End Sub
(注:访问的是嵌入的一个短信平台查询余额的接口程序,D0030和123456  分别是用户帐号和密码。返回余额短信数2)

我查看这个返回窗口的源文件发现根本就没有源代码,只有一个数字2,我想接收短信的窗口也一定如此。请问老师们怎样把这样的窗体内容自动保存为一个文档?

作者: 叶海峰    时间: 2012-7-25 13:55
Me.W1.Document.body.innertext就是返回浏览器解析到的文本内容,你爱怎么处理就怎么处理.
作者: todaynew    时间: 2012-7-25 14:03
叶海峰 发表于 2012-7-25 13:55
Me.W1.Document.body.innertext就是返回浏览器解析到的文本内容,你爱怎么处理就怎么处理.

是否能考虑单开一贴,并做一个比较完整的示例进行说明。谢谢。
作者: 轻风    时间: 2012-7-25 15:31
你怎么把用户名密码都透露出来了
作者: roych    时间: 2012-7-25 21:12
bjcompass 发表于 2012-7-25 12:41
呵,真不好意思,又来求教:
我刚才试了一次我的命令按钮代码:
Private Sub Command1_Click()  '查询短信 ...

会不会是asp.net语句没写好啊{:soso_e112:}

你给的网址在搜狗浏览器里也只是显示“2”(看来有点2噢,嘻嘻):
[attach]49759[/attach]

这是论坛搜索帖子的网址显示内容:
[attach]49758[/attach]
作者: zhuyiwen    时间: 2012-7-26 08:18
我刚看了一下,它的短信接口说明 http://ipyy.net/http.asp,建议你使用 XMLHTTP 来获取数据比用浏览器方便,并且更加轻巧。
作者: bjcompass    时间: 2012-7-26 20:57
本帖最后由 bjcompass 于 2012-7-26 21:03 编辑

不是2 ,是那个测试账号只剩2条短信余额。
荣幸,一个帖子这么多大侠关注。
我把代码改成这样了:
Private Sub Command1_Click()
Me.Text1 = Me.W1.Document.body.innertext
End Sub

Private Sub Form_Load()
Me.W1.Navigate "http://inolink.com/ws/Get.aspx?CorpID=******&Pwd=******"
End Sub
现在的情况,窗体加载后在窗体中的Microsoft Web Browser控件W1中接收到不确定数量的回复短信,每条短信都是括号中的格式 ( ||回复手机号码#回复内容#回复的时间# )  每条短信之间不分行且没有间隔。按下命令按钮后这些短信显示到text1中,仍然不分行,难以阅读。
      请问各位老师:可否用每条短信前的“||”做分隔标志,把每条短信单独一行显示到文本框中或其它控件中。
     zhuyiwen老师所说的XMLHTTP怎样做我还真不懂,请教。
作者: 叶海峰    时间: 2012-7-27 08:35
Me.Text1 = Me.W1.Document.body.innertext
改成用
Me.Text1 = Me.W1.Document.body.innerhtml,返回html的源代码文本,看能不能找到截取的方法.
作者: gxy1000    时间: 2012-7-27 12:21
好东西!{:soso_e179:}学习学习
作者: zhuyiwen    时间: 2012-7-27 13:55
bjcompass 发表于 2012-7-26 20:57
zhuyiwen老师所说的XMLHTTP怎样做我还真不懂,请教。


要使用 XMLHTTP 对象,首先必须引用 Microsoft XML 3.0 或更高版本的组件,如图:
[attach]49779[/attach]

下面是一个示例 VBA 函数
[attach]49780[/attach]
  1. Public Function getResponse(ByVal url As String) As String
  2.     Dim oXMLHTTP As New MSXML2.XMLHTTP
  3.    
  4.     With oXMLHTTP
  5.         .Open "GET", url, False
  6.         .send
  7.         If .readyState = 4 Then
  8.             If .Status = 200 Then
  9.                 getResponse = .responseText
  10.             End If
  11.         End If
  12.     End With
  13.    
  14.     Set oXMLHTTP = Nothing
  15. End Function
复制代码
在立即窗口下的测试:
[attach]49781[/attach]
  1. ?getResponse("http://ipyy.net/WS/SelSum.aspx?CorpID=D0030&Pwd=123456")
  2. 10
复制代码
在你的应用中,使用 XMLHTTP 对象要比WebBrowse 控件效率就得多。
作者: 叶海峰    时间: 2012-7-27 16:20
朱老师,请问如何用XMLHTTP对象来对网页上的一个按钮进行点击,例如提交按钮,下一页按钮等等.
作者: bjcompass    时间: 2012-7-27 16:29
感谢管理员老师提供的代码,虽然我还不太懂,收藏了,慢慢研究。
作者: zhuyiwen    时间: 2012-7-27 22:53
叶海峰 发表于 2012-7-27 16:20
朱老师,请问如何用XMLHTTP对象来对网页上的一个按钮进行点击,例如提交按钮,下一页按钮等等.

这个是不行的,呵呵,xmlhttp 它不是浏览器对象,因此,也就不存在执行网页上的动作。
作者: roych    时间: 2012-7-28 03:25
zhuyiwen 发表于 2012-7-27 22:53
这个是不行的,呵呵,xmlhttp 它不是浏览器对象,因此,也就不存在执行网页上的动作。

以前在EH里见过一个例子,用XMLHTTP来做一个Excel版飞信例子(实现了添加好友、发送短信等等基本功能),好像是用Post来进行数据提交的噢。
作者: 叶海峰    时间: 2012-7-30 08:29
zhuyiwen 发表于 2012-7-27 22:53
这个是不行的,呵呵,xmlhttp 它不是浏览器对象,因此,也就不存在执行网页上的动作。

难怪我找来找去xmlthhp对象,都没找到类似click,submit的方法.谢谢朱老师的指点了.




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3