自动化与Excel VBA
我尝试使用excel vba自动执行这个过程:
01
点击链接之后…打开下一个窗口:
02
我的代码:
Sub WFM_test() 表( “Preenchimento_Remedy”)。激活 Wd =范围(“D02”)。值的URL地址 Set objShell = CreateObject(“Shell.Application”) 设置objAllWindows = objShell.Windows 对于每个ow在objAllWindows中 'MsgBox ow 如果(InStr(1,ow,“Internet Explorer”,vbTextCompare))那么 “MsgBox ow.Hwnd&”“&ow&”“&ow.locationURL 如果(InStr(1,ow.LocationURL,Wd,vbTextCompare))那么 设置objRemedy = ow 万一 万一 下一个 如果objRemedy是没有那么 其他 设置objPage = objRemedy.Document 设置WFM = ObjPage.getElementsByClassName(“MenuEntryNameHover”) WFM.item(0)。点击 万一 结束小组
给这个一个镜头。 它应该先select表格,然后select属于该表格的所有元素,然后根据InnerText进行匹配。
Sub WFM_test() Dim AllTableItems As Object Dim element As Object Sheets("Preenchimento_Remedy").Activate Wd = Range("D02").Value 'URL address Set objShell = CreateObject("Shell.Application") Set objAllWindows = objShell.Windows For Each ow In objAllWindows 'MsgBox ow If (InStr(1, ow, "Internet Explorer", vbTextCompare)) Then 'MsgBox ow.Hwnd & " " & ow & " " & ow.locationURL If (InStr(1, ow.LocationURL, Wd, vbTextCompare)) Then Set objRemedy = ow End If End If Next If Not objRemedy Is Nothing Then ' you need this (0) as you specify which class you want to select ' The classname is not a unique property Set Table = objRemedy.Document.getElementsByClassName("MenuTable")(0) 'Select all Elements in the table Set AllTableItems = Table.getElementsbyTagName("*") 'Iterate over the elements in the table and find the match For Each element In AllTableItems If element.InnerText = "Default WFM Group" Then element.Click Next i End If End Sub