用于更新textarea的VBA代码

时间:2015-09-02 13:46:29

标签: vba excel-vba excel

我需要更新HTML页面的文本区域。我正在使用下面的代码。

Set hcol = doc.getElementsByTagName("textarea")
    For Each txt In hcol
        If txt.Name = Module Then
            txt.innerText = Mark_Text
            Sheets("Sheet1").Range("E" & i).Value = "Done"
            Exit For
        Else
            Sheets("Sheet1").Range("E" & i).Value = "Module not found"
        End If
    Next

成功完成上述代码后,我使用以下代码更新网页。

Set hcol = doc.getElementsByTagName("input")
        For Each inp In hcol
            If inp.Value = "Update Configuration" Then
                inp.Click
                Delay 3
                Exit For
            End If
        Next

更新完成后,当我返回网页时,文本不会更新。以下是网页的查看源详细信息

<td class="InputTitle" rowspan="3">Marketing Text</td>
<td class="InputCell" colspan="3" rowspan="3">
<textarea name="MarketingText;;1" id="MarketingText;;1" onfocus="workingText = this.value" 
  onblur="updateTextValue(this, &#39;MarketingText&#39;);" 
  style="font:normal 11px Arial;width:300px;" rows="4">
</textarea></td>

我的问题似乎与此链接中提到的类似: please help me to write vba/vb6 code to update rich textbox

我已经尝试过上述链接中提供的两种解决方案,但它仍然无法正常工作。

请帮忙

1 个答案:

答案 0 :(得分:0)

我认为问题在于,当您通过代码设置值时,onfocus事件不会运行。

可以在设置值

后添加此代码

如果txt.Name = Module Then

txt.innerText = Mark_Text

&#39;添加此部分

txt.fireevent "Onfocus"
txt.fireevent "onblur"