我如何选择;“在文件资源管理器中查看”;按钮或至少运行它';VBA的作用是什么?

我如何选择;“在文件资源管理器中查看”;按钮或至少运行它';VBA的作用是什么?,vba,web-scraping,sharepoint,Vba,Web Scraping,Sharepoint,我有一个表单,可以将其转换为PDF,并将Dir()转换为SharePoint online组 定期出现连接错误。我转到SharePoint并单击文档库中“所有文档”下的“在文件资源管理器中查看”,以重新建立上载文件的功能 我制作了一个sub,通过Shell方法在文件资源管理器中打开SharePoint,但它只有在我单击“在文件资源管理器中查看”时才起作用 除了打开页面并单击“查看…”或实际单击按钮之外,我如何解决问题 我在元素间循环,但按钮没有出现。我获取对象必需或对象未设置错误 <li

我有一个表单,可以将其转换为PDF,并将Dir()转换为SharePoint online组

定期出现连接错误。我转到SharePoint并单击文档库中“所有文档”下的“在文件资源管理器中查看”,以重新建立上载文件的功能

我制作了一个sub,通过Shell方法在文件资源管理器中打开SharePoint,但它只有在我单击“在文件资源管理器中查看”时才起作用

除了打开页面并单击“查看…”或实际单击按钮之外,我如何解决问题

我在元素间循环,但按钮没有出现。我获取对象必需或对象未设置错误

<li class="ms-ContextualMenu-item item-421" role="presentation"><button name="View in File Explorer" tabindex="0" class="ms-ContextualMenu-link root-453" role="menuitem" aria-disabled="false" aria-posinset="4" aria-setsize="8"><div class="ms-ContextualMenu-linkContent linkContent-427"><i class="ms-Icon-placeHolder ms-ContextualMenu-checkmarkIcon checkmarkIcon-470" aria-hidden="true" data-icon-name=""></i><i class="ms-ContextualMenu-icon icon-472" aria-hidden="true"></i><span class="ms-ContextualMenu-itemText label-433">View in File Explorer</span></div></button></li>
需要注意的一些事情:

  • 当前,您正在尝试在集合上创建一个节点(单击)方法,因为
    getElementsByClassName
    返回一个元素集合 您需要为集合中感兴趣的项目使用适当的索引,例如

    HTMLDoc.getElementsByClassName("ms-ContextualMenu-link root-453")(0).Click
    

    您也可以考虑使用匹配< /P> 或

  • 不过,有可能按钮在这种情况下会变得更复杂。我们需要看到更多的HTML。我稍微讨论一下

  • 另一种可能性是,您的元素可能位于一个内部

  • 之后使用适当的页面加载等待。导航

    While.Busy或.ReadyState 4:DoEvents:Wend


  • 非常感谢。我继续得到“对象变量未设置”。页面中还有其他iFrame,但它似乎不在树的下面。我将路径的HTML添加到了底部,并在下面添加了链接。在文章中。如果你用F8一行一行地缓慢执行,错误还会发生吗?是的,我仍然得到“未设置块变量的对象变量”。RT错误91我们需要查看更多html,然后我添加了一个指向路径图片的链接。谢谢你坚持住。
    Sub filexplorer2()
    
    Dim IE As New SHDocVw.InternetExplorerMedium
    
    Dim HTMLDoc As MSHTML.HTMLDocument
    
    With IE
        .Visible = True
        .navigate "https://nov.sharepoint.com/teams/WBTuboscopeCoatingEngineering/POR%20Requests/Forms/AllItems.aspx"
        Do Until .ReadyState = 4: DoEvents: Loop
    End With
    
    Set HTMLDoc = IE.Document
    
    HTMLDoc.getElementsByClassName("ms-ContextualMenu-link root-453").Click
    
    Set IE = Nothing
    Set HTMLDoc = Nothing
    End Sub
    
    HTMLDoc.getElementsByClassName("ms-ContextualMenu-link root-453")(0).Click
    
    HTMLDoc.querySelector(".root-453").click
    
    HTMLDoc.querySelector("[name='View in File Explorer']").click