Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Excel将数据输入网页时出错_Excel_Vba - Fatal编程技术网

使用Excel将数据输入网页时出错

使用Excel将数据输入网页时出错,excel,vba,Excel,Vba,我想在网页字段中输入数据。 网页上有两个数据输入字段。 我在第一部分输入了数据。 但是,我无法在其他字段中输入数据 查看网站所需的信息: 地点: 用户:kurucu密码:a11111 我在“BAŞLIK”字段中输入了数据。 但是,我无法将数据写入名为“İİİK”的字段 我想使用Excel宏在此字段中输入数据。但我无法使用以下代码输入数据: Sub deneme() Dim URL As String On Error Resume Next URL = "http:/

我想在网页字段中输入数据。 网页上有两个数据输入字段。 我在第一部分输入了数据。 但是,我无法在其他字段中输入数据

查看网站所需的信息:

地点:

用户:kurucu密码:a11111

我在“BAŞLIK”字段中输入了数据。 但是,我无法将数据写入名为“İİİK”的字段

我想使用Excel宏在此字段中输入数据。但我无法使用以下代码输入数据:

  Sub deneme()
    Dim URL As String
    On Error Resume Next
    URL = "http://splan.byethost7.com/mesaj_yaz.php?fno=1&kip=yeni"
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = 1

    For i = 1 To Range("A" & Rows.Count).End(3).row
        If Cells(i, 1) <> Empty Then
            ie.navigate URL

            Call bekle



  ie.Document.getElementById("mesaj_icerik").Value = "TEST"

  ie.document.getElementsByName("mesaj_baslik").Item(0).Value = Cells(i, 1)

 'IE.Document.getElementsByClassName("submitButton")(0).Click

              Call bekle

        End If
    Next i
   ' IE.Quit
    Set ie = Nothing
End Sub

Sub bekle()
    With ie
        Do Until .readyState = 4: DoEvents: Loop
        Do While .Busy: DoEvents: Loop
    End With
    Application.Wait (Now + TimeValue("00:00:02"))
End Sub
Sub-deneme()
将URL设置为字符串
出错时继续下一步
URL=”http://splan.byethost7.com/mesaj_yaz.php?fno=1&kip=yeni"
设置ie=CreateObject(“InternetExplorer.Application”)
即可见=1
对于i=1到范围(“A”和Rows.Count)。结束(3)。行
如果单元格(i,1)为空,则
浏览网址
打电话给贝克
ie.Document.getElementById(“mesaj_icerik”).Value=“测试”
ie.document.getElementsByName(“mesaj_baslik”)。项(0)。值=单元格(i,1)
'IE.Document.getElementsByClassName(“submitButton”)(0)。单击
打电话给贝克
如果结束
接下来我
“就是说,退出
设置ie=无
端接头
Sub-bekle()
与ie
Do Until.readyState=4:DoEvents:Loop
请稍候。忙碌:DoEvents:循环
以
Application.Wait(现在+时间值(“00:00:02”))
端接头

正如我在评论中所说,您的代码存在一些问题,尽管总体效果良好

首先,这个
ie.document.getElementsid(“mesaj_baslik”)
不是有效的方法。如果您希望访问具有唯一ID的单个HTML元素,那么您需要使用的方法是
ie.Document.getElementById(“元素的ID”)

假设我上面写的是您试图实现的,您必须记住
.getElementById()
方法只返回一个元素

因此,这个
ie.Document.getElementById(“元素的ID”).item(0)
会给您一个错误,告诉您:

对象不支持此属性或方法

即使前面提到的所有错误都被纠正了,我仍然没有在您提供的HTML代码片段中看到任何ID等于
“mesaj_baslik”
的元素。事实上,这个特殊的字符串在HTML中找不到

因此,即使方法正确,这个
ie.Document.getElementById(“mesaj_baslik”)
也将返回
Nothing

其次,尽管您使用的方法
ie.document.getElementsByName()
是正确的,但在您提供的HTML代码片段中,没有一个元素的名称属性等于
“formlar_mesajyaz”

事实上,这个字符串似乎是一个类名,而不是其他任何东西。在这种情况下,您必须使用以下方法:
ie.document.getElementsByClassName()

现在,根据您提供的信息,我所能做的就是假设,您要做的是在
textArea
元素中输入一些文本。为此,可以使用元素的ID,如下所示:

ie.Document.getElementById("mesaj_icerik").Value = "TEST"

正如我在评论中所说的,尽管总体效果良好,但您的代码仍存在一些问题

首先,这个
ie.document.getElementsid(“mesaj_baslik”)
不是有效的方法。如果您希望访问具有唯一ID的单个HTML元素,那么您需要使用的方法是
ie.Document.getElementById(“元素的ID”)

假设我上面写的是您试图实现的,您必须记住
.getElementById()
方法只返回一个元素

因此,这个
ie.Document.getElementById(“元素的ID”).item(0)
会给您一个错误,告诉您:

对象不支持此属性或方法

即使前面提到的所有错误都被纠正了,我仍然没有在您提供的HTML代码片段中看到任何ID等于
“mesaj_baslik”
的元素。事实上,这个特殊的字符串在HTML中找不到

因此,即使方法正确,这个
ie.Document.getElementById(“mesaj_baslik”)
也将返回
Nothing

其次,尽管您使用的方法
ie.document.getElementsByName()
是正确的,但在您提供的HTML代码片段中,没有一个元素的名称属性等于
“formlar_mesajyaz”

事实上,这个字符串似乎是一个类名,而不是其他任何东西。在这种情况下,您必须使用以下方法:
ie.document.getElementsByClassName()

现在,根据您提供的信息,我所能做的就是假设,您要做的是在
textArea
元素中输入一些文本。为此,可以使用元素的ID,如下所示:

ie.Document.getElementById("mesaj_icerik").Value = "TEST"

欢迎来到SO。没有
ie.document.getElementsid
这样的东西。您正在寻找的方法可能是
ie.document.getElementByID()
。此方法返回一个项目,而不是项目集合,因此无需参考
.item(0)
。从您提供的HTML代码片段中也可以看到,“mesaj_baslik”是类的名称,而不是某些元素的name属性。因此,也许您应该使用
ie.document.getElementsByClassName(“formlar_mesajyaz”)
。谢谢您的回答。但它不起作用。欢迎来到SO。没有
ie.document.getElementsid
这样的东西。您正在寻找的方法可能是
ie.document.getElementByID()
。此方法返回一个项目,而不是项目集合,因此无需参考
.item(0)
。从您提供的HTML代码片段中也可以看到,“mesaj_baslik”是类的名称,而不是某些元素的name属性。因此,也许您应该使用
ie.document.getElementsByClassName(“formlar_mesajyaz”)
。谢谢您的回答。但事实并非如此