我是VBA的初学者,我制作了一个应用程序,该应用程序将来自xls页面的数据填充到使用angularjs的网站。 该网站包含一个要填写的表格,因此其ID和类名在每次刷新时都会随机更改四个最新数字。 (例如:以下代码源:ID的02XC将更改为其他名称,但前缀将保持不变)。我该如何操作这张桌子?
代码源网站
<div tabindex="-1" class="ui-grid-cell ng-scope ui-grid-coluiGrid-02XC cell editable" id="1554799061475-1-uiGrid-02XC-cell" role="gridcell" aria-selected="false" ng-class="{ 'ui-grid-row-header-cell': col.isRowHeader }" ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" ui-grid-cell="" ui-grid-one-bind-id-grid="rowRenderIndex + '-' + col.uid + '-cell'">[Here is the web table that i want to upload values][1]</div>
我的代码
Set objHtml = New HTMLDocument
Set objHtml = internetExplorer.document
Set modric = objHtml.getElementsByClassName("ui-grid-cell ng-scope ui-grid-coluiGrid-02XC cell editable")
If modric.Length <> 0 Then
For q = 0 To modric.Length - 1
modric(q).Click
modric(q).innerText = Workbooks("remplir").Worksheets("sheet1").Range("F1").Offset(n + 1, 0).Value
Next q
End If
如我所说,在下一次刷新中,02XC将更改为其他四个随机数。
我想获取每次刷新的ID或类名,以操作该表。
或其他可以帮助我管理表格的方式。
对不起,我的英语太差了。希望你能理解我:)
答案 0 :(得分:0)
您可以使用以{^
)运算符开头的attribute =值选择器
[id^='1554799061475-1-uiGrid-']
我不确定您是否要进行一次或多次比赛
单场比赛
Dim ele As Object
Set ele = objHtml.querySelector("[id^='1554799061475-1-uiGrid-']")
这假定id以1554799061475-1-uiGrid-
开头,并且只有结束位发生变化。
如果可能有多个匹配项,则可以使用querySelectorAll
返回一个nodeList。