Я пытался выбрать раскрывающуюся ссылку на веб-странице, используя VBA. Выпадающее меню сохраняет и сохраняет как ссылки. Вот код HTML:
<div class="save-menu" ng-if="!***">
<div type="button" class="icon-save icon-save-disabled" ng-class="dispHeaderCtrl.canSave && dispHeaderCtrl.isEnabled ? 'icon-save-enabled' : 'icon-save-disabled'" ng-click="dispHeaderCtrl.openSaveDialog()" id="save-button" title="Save">
<svg class="t-icon-fill" version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="2 2 18 18" enable-background="new 0 0 24 24" xml:space="preserve">
<path fill="#FFFFFF" d="M15.167,5.022H5.24v11.93h11.933V6.978L15.167,5.022z M12.805,6.328V9.63H11.5V6.328H12.805z M15.868,15.647
H6.544V6.328h1.653v4.604h5.914V6.328h0.525l1.232,1.201V15.647z"></path>
</svg>
</div>
<div title="Save As">
<div ng-class="(dispHeaderCtrl.canSave || dispHeaderCtrl.canSaveAs) && dispHeaderCtrl.isEnabled ? 'split-button-enabled' : 'split-button-disabled'" class="split-button split-button-enabled" ng-click="showSplitButton = !showSplitButton">
<svg version="1.1" xmlns="http://www." xmlns:xlink="http://www.w3.org/" x="0px" y="0px" width="10.656px" height="10.313px" viewBox="0 0 14.656 14.313" enable-background="new 0 0 14.656 14.313" xml:space="preserve">
<polygon fill="#FFFFFF" points="0,0 14.656,0 7.328,14.313 "></polygon>
</svg>
</div>
<div style="position: fixed; top: 0px; left: 0px; height: 100%; width: 100%; z-index: 9998;" ng-show="showSplitButton" class=""></div><ul class="split-button-list" ng-show="showSplitButton" click-shield="showSplitButton = false;">
<li ng-class="dispHeaderCtrl.canSave && dispHeaderCtrl.isEnabled ? 'save-menu-item' : 'save-menu-item-disabled'" ng-click="dispHeaderCtrl.openSaveDialog(); showSplitButton = false;" class="save-menu-item-disabled">
Save
</li>
<li ng-class="dispHeaderCtrl.canSaveAs && dispHeaderCtrl.isEnabled ? 'save-menu-item' : 'save-menu-item-disabled'" ng-click="dispHeaderCtrl.openSaveAsDialog(); showSplitButton = false;" class="save-menu-item">
Save As
</li>
<!---->
<!---->
</ul>
</div>
</div>
Я попробовал несколько кодов VBA, чтобы выбрать одну ссылку, которая была бы «Сохранить как». Ниже приведен код, который я использовал, но после запуска ничего не происходит с выпадающим меню. Код VBA -
Public Sub test()
Dim IE As InternetExplorer
Dim html As HTMLDocument
Dim htmlInput As MSHTML.HTMLInputElement
Dim htmlColl As MSHTML.IHTMLElementCollection
Set IE = New InternetExplorerMedium
IE.Visible = True
'Define URL
IE.Navigate2 " "
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop
Set html = IE.document
Set htmlColl = html.getElementsByClassName("save-menu")
Do While html.readyState <> "complete": DoEvents: Loop
For Each htmlInput In htmlColl
If htmlInput.getAttribute("value") = "Save As" Then
htmlInput.Click
Exit For
End If
Next htmlInput
End Sub