使用 Excel VBA 更改 HTML 属性

Using Excel VBA to change HTML attribute

我正在尝试更改 class

中的 HTML 属性
<div class="treeNodeStyle" id="trMenu_14" nowrap="" style="visibility: visible;">
    <div class="treeNodeWrapperStyle" nowrap="">
        <a class="treeInlineStyle" onclick="FolderExpand('trMenu','14');return false;" href="">
            <img align="top" class="treeInlineStyle" src="/visimages/tree/plus.gif" border="0">
        </a>
        <div class="treeSelectorStyle" onclick="selectNode('trMenu','14',false)"
            ondblclick="dblselectNode('trMenu','14')">
            <img align="absmiddle" class="treeInlineStyleImg" src="/visimages/tree/folder.gif" border="0">
            <div title="Finance" class="treeNodeTextStyle" nowrap="true"> Finance</div>
        </div>
    </div>
    <div class=”treeChildStyle” nowrap=”” style=”display: none;”> </div>

最后一行代码是我需要更改的 - from style=”display: none;” to style=”display: block;”

这是我尝试使用的代码:

IE.Document.getElementsByClassName("treeChildStyle").removeAttribute ("style")
IE.Document.getElementsByClassName("treeChildStyle").setAttribute "style", "display: block;"

您可以使用 querySelector return 单匹配然后设置样式属性。来自@MathieuGuindon 的评论已经指出了在集合上尝试单个节点方法的错误,即没有索引。

ie.document.querySelector("#trMenu_14 .treeChildStyle").setAttribute "style", "display: block;"