vba宏上需要运行时错误'424'对象

时间:2018-02-21 18:59:19

标签: html vba runtime-error getelementbyid

我收到了

  

'424运行时错误;对象需要'

在下面发布的代码中,在我的excel宏上

。我试图将html用户表单的内容设置为我从文本文档中解析出来的字符串。

Set wb = WB1.document
Set wb.getElementById("booktitle").Value = book

我也试过了:

Set wb = WB1.document

With wb
    .getElementById("booktitle").Value = book
End With

这是我的HTML:

 <div class="section"><span>1</span>Book</div>
 <div class="inner-wrap">
     <label>Full Book Title <input id="booktitle" type="text" name="bookTitle" /></label>

WB1是我的用户形式webbrowser

1 个答案:

答案 0 :(得分:0)

在处理属性时,您有几个选项。 .Value 属性,但您使用的是Set命令,该命令是为对象保留的。

您可以对象设置为变量,例如:

Dim oBookTitle As Object
Set oBookTitle = wb.getElementById("booktitle")
oBookTitle.Value = book

getElementByID()返回一个对象--- .Value返回或设置对象的值 (它是一个属性)。

或者您可以直接使用该属性:

wb.getElementById("booktitle").Value = book   
  

“是的,我将其更改为在我最初拥有您发布的内容的当天早些时候尝试设置,但无论是否设置都无效。” - bella98789

我在HTML代码中看不到“值”。您可以尝试.innerText.outerText代替.Value,看看是否能解决您的问题。

此外,如果您没有等待网页完全加载,那么您的对象将无法使用。添加此行以进行调试:

If wb.getElementById("booktitle") Is Nothing Then MsgBox "Obj not set"