使用Microsoft Internet Transfer Control 6.0时出错

时间:2011-03-24 22:09:52

标签: ms-access-2007 access-vba

在我的访问应用程序中使用上述内容时,我似乎在Windows 7(32位)上遇到了问题。

我在下面代码的最后一行收到错误'438',“对象不支持此属性或方法”。

strURL = "https://www.google.com/accounts/ClientLogin"
strFormData = "Email=" & myEmail & "&Passwd=" & myPassword & "&source=" & mySource &    "&service=cl&accountType=HOSTED_OR_GOOGLE"
strHeaders = "Content-Type:application/x-www-form-urlencoded"
Inet1.Execute strURL, "POST", strFormData, strHeaders

我已经成功(我相信)使用命令行提示符添加了MSINET.OCX并且'regsvr32 msinet.ocx'并且我引用了Microsoft Internet Transfer Control

显然我不确定该怎么做以及我需要做些什么才能解决在Windows 7中出现的问题

如果有人能提供帮助,我们将不胜感激。

干杯

诺尔

编辑: 最初我认为这个错误只发生在Win 7上,而不是XP,但是我回到了XP机器,它正在重复同样的问题。不知道为什么它之前不存在,某些地方的东西不能正常发挥。

解决: 不知道我为什么遇到上述问题。管理回滚到旧版本,它开始工作。虽然我可以看到两种形式背后的编码没有差异。我无法解释这个问题对我的生活有什么影响!

1 个答案:

答案 0 :(得分:1)

执行此操作的常用方法是使用MS XMLHTTP对象,而不是非本机ActiveX控件。代码看起来像这样:

  Dim oHTTP as Object

  strURL = "https://www.google.com/accounts/ClientLogin"
  strFormData = "Email=" & myEmail & "&Passwd=" & myPassword & "&source=" & mySource & "&service=cl&accountType=HOSTED_OR_GOOGLE"
  strHeaders = "Content-Type:application/x-www-form-urlencoded"
  Set oHttp = CreateObject("MSXML2.XMLHTTP")
  oHTTP.Open "POST", strURL & strFormData, True
  oHTTP.setRequestHeader "Content-Type", strHeaders
  oHTTP.send vbNullString

我有这种类型的代码在Win2000,WinXP和Win7 64位上运行没有问题。由于它使用后期绑定,如果XMLHTTP库的安装/注册存在问题,它是可以捕获的,但我从未遇到过。