VBA:不能更改文本字段的值?

时间:2019-01-17 04:53:12

标签: excel vba

我正在编写一个脚本,以将详细信息输入注册表单。

表单的名字字段具有以下html代码:

<input name="firstname" class="text-input" id="input-text-view328" aria-describedby="form-input-text-error-view307-required" type="text" maxlength="50" placeholder="" data-event="blur" data-view-value="" data-stickit-id="stickit_47" autocomplete="off">

我似乎无法获得脚本为该字段输入值。我已经尝试了以下每种方法,但似乎都没有效果:

Set Fname = IE.Document.getElementsByName("firstname")
Fname.Value = "John"

Set Fname = IE.Document.getElementsByClassName("text-input")
Fname.Value = "John"

Set Fname = IE.Document.getElementByID("input-text-view328")
Fname.Value = "John"

我得到的错误是

  

“运行时错误'438':   对象不支持此属性或方法”

你知道这是怎么回事吗?

1 个答案:

答案 0 :(得分:0)

由于getElementsByName返回集合,因此可以使用索引号nos

访问它们。

IE.Document.getElementsByName("firstname")(0).Value = "John"

OR

Set Fname = IE.Document.getElementsByName("firstname")(0)
Fname.Value = "John"

OR

IE.Document.getElementByID("input-text-view328").Value = "John"

OR

IE.Document.querySelector("#input-text-view328").Value = "John"