Использование Excel VBA для изменения атрибута HTML - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь изменить атрибут 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>

Последняя строка кода, которую мне нужно изменить - из style = ”display: none ;«To style =» display: block ; »

Вот код, который я пытаюсь использовать:

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

1 Ответ

2 голосов
/ 21 июня 2019

Вы можете использовать querySelector для возврата одного совпадения, а затем установить атрибут стиля. Комментарий @MathieuGuindon уже указывает на ошибку при попытке метода одного узла в коллекции, т.е. без индекса.

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