vfp 自动填写网页

http://topic.csdn.net/u/20100818/10/02013645-7e0a-426c-a5b3-0b298a8a9a47.html

回4楼:

运行结果,提示出错,出错内容为: 

"document不是一个对象"
 
 
回复次数: 19

 

#1楼 得分:0回复于:2010-08-20 15:50:55
我的步骤是:

1 工具-选项-控件-找到microsoft web 浏览器--勾上--确定

2 新建一个表单,新建ActiveX控件,更名为 OleWebBrowse

3 双击此控件,在init处写入代码 This.Navigate("http://www.lzk.hl.cn/ptgk/default.asp")

4 新建一个command按钮,在此按钮的Click里写上代码:

Thisform.OleWebBrowse.Document.Forms("form1").zkzh.Value="1234567890"
Thisform.OleWebBrowse.Document.Forms("form1").ksxm.Value="张三"
Thisform.OleWebBrowse.Document.Forms("form1").Submit

5 结果提示出错 "document不是一个对象"

我如何操作的,已经详细描述,请老师帮看看我哪里出错了?

我用的是vfp 9.0
 
#2楼 得分:0回复于:2010-08-20 16:21:50
楼主你这样问真不是办法,有什么问题先GOOGLE了再说,不要走一步就问一下,是人看到你这样问法都怕了
 
#3楼 得分:0回复于:2010-08-20 16:29:08
看一下你添加到表单上的 ActiveX 控件的 OleClass 是什么?

上面代码我是好用的。
 
#4楼 得分:0回复于:2010-08-20 16:32:51
表单上的 ActiveX 控件的 OleClass 是空,什么内容也没有.

而且是灰色的,不可以写入东西
 
#5楼 得分:0回复于:2010-08-20 16:50:30
灰色是对的,不过应该有内容,应该是:Shell.Explorer.2
 
#6楼 得分:0回复于:2010-08-20 16:52:38
那我这里面没有东西在里面,该怎么办呢?
 
#7楼 得分:0回复于:2010-08-20 16:58:04
换个计算机试一下。
如果没有其他计算机,试着重装系统或安装个IE8试试。
 
#8楼 得分:0回复于:2010-08-20 17:01:22
好的. 我来试一下

今天试不成了,到点下班了.

明天哦.

明天告诉你结果.

谢谢你了,老师.
 
  • dkfdtf用户头像
  • dkfdtf
  • (都市夜猫)
  • 等 级:
#9楼 得分:0回复于:2010-08-20 23:08:03
只有等网页下载完成后,解析器才会构造出需要的对象,而下载完整个网页是需要时间的,特别是在网页内容较多或网速较慢的情况下。

这样试试:
1. 按钮的 Enabled 初始值设为 .F. 
2. WebBrowse 控件的 DocumentComplete 事件中写入:
  Thisform.Command1.Enabled = .T.

这样你可以看到,网页是在什么时候下载完成并启用按钮的。
 
#10楼 得分:0回复于:2010-08-21 08:24:23
回十豆三老师:

已经换了二台计算机试了。 && 还是老问题(OleClass 是空)
已经重装系统(我的电脑有一键还原功能). && 还是老问题(OleClass 是空)
安装IE8试试。 && 还是老问题(OleClass 是空)

回都市夜猫老师:
没有找到 OleWebBrowse 控件的 DocumentComplete 属性,我是不是要增加一下属性?
 
#11楼 得分:0回复于:2010-08-21 08:26:55
同时,我在VFP 6.0和VFP 9.0环境下都测试过了, OleClass 始终是灰色,且为空.
 
#12楼 得分:0回复于:2010-08-21 08:27:43
当然,我用VFP 6.0,只是想测试一下.

正常情况下,我都用VFP 9.0最新版本.
 
#13楼 得分:0回复于:2010-08-21 09:37:01
DocumentComplete 属性 是此控件自带的属性,网页加载完成后发生此事件。
 
#14楼 得分:0回复于:2010-08-21 09:48:25
确实没有找着 DocumentComplete 属性.

恕在下愚钝. 我是严格按照1楼的操作步骤做的,就是没有找着此控件.
 
#15楼 得分:80回复于:2010-08-21 10:24:39
VFP9.0
你新一下PRG程序,将以下代码粘到此PRG程序中,运行这个PRG程序试试:

SQL code
            
            
Public oform1 oform1 = Newobject("form1") oform1.Show Return Define Class form1 As Form Top = 0 Left = 0 Height = 571 Width = 933 ShowWindow = 1 DoCreate = .T. Caption = "Form1" WindowType = 1 Name = "form1" Add Object olewebbrowse As OleControl With ; Top = 12 , ; Left = 12 , ; Height = 540 , ; Width = 804 , ; Name = "OleWebBrowse", ; OleClass = "Shell.Explorer. 2 ", ; OleLCID = 1033 Add Object command1 As CommandButton With ; Top = 107 , ; Left = 835 , ; Height = 28 , ; Width = 79 , ; Caption = "查询测试", ; Enabled = .F., ; Name = "Command1" Procedure olewebbrowse.DocumentComplete *** ActiveX Control Event *** Lparameters pdisp, url Thisform.Command1.Enabled = .T. Endproc Procedure olewebbrowse.Init This.Navigate("http: // www.lzk.hl.cn / ptgk / default .asp") Endproc Procedure command1.Click Thisform.OleWebBrowse.Document.Forms("form1").zkzh.Value = " 1234567890 " Thisform.OleWebBrowse.Document.Forms("form1").ksxm.Value = "张三" Thisform.OleWebBrowse.Document.Forms("form1").Submit Endproc Enddefine


 
 
#16楼 得分:0回复于:2010-08-21 10:30:26
OK了

谢谢老师
 
#17楼 得分:0回复于:2010-08-21 10:30:53
15楼的代码,会有许多人采用,绝对的.
 
#18楼 得分:0回复于:2010-08-21 10:32:55
真是太好了,越看越欢喜.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值