2017-11-11 286 views
0

我想使用VBA excel自動化該網站。我被困在一個點,我需要從下拉框中選擇值。我對此非常陌生,因爲這是我的第一個這樣的項目。 這是我的編碼選擇相應的值:Excel VBA選擇選項網站下拉列表

Set objSelect = objIE.document.getElementById("personTitle") 

For Each opt In objSelect.Options 
If opt.Value = "Miss" Then 
    'Debug.Print "found!" 

    opt.Selected = True 
    'opt.Selected = "selected" 
Else 
    'Debug.Print "not found!" 

    opt.Selected = False 
End If 
Next 

我已經使用debug.print檢查,如果我試圖找到值實際上得到匹配的身分─也試圖和原來它匹配。 我面臨的唯一問題是價值沒有得到確定。 任何大師可以幫忙嗎?

下面是部分的HTML:

<div class="input-wrap input-wrap__inline"> 
 

 
      <div tabindex="-1" class="select is-placeholder"><div class="select_display">Title</div><div class="select_arrow glyphicon glyphicon-chevron-down"></div><dl class="select_list"><dt class="pretend-dd is-hover" data-index="1" data-val="Mr">Mr</dt><dt class="pretend-dd" data-index="2" data-val="Mrs">Mrs</dt><dt class="pretend-dd" data-index="3" data-val="Miss">Miss</dt><dt class="pretend-dd" data-index="4" data-val="Ms">Ms</dt><dt class="pretend-dd" data-index="5" data-val="Dr">Dr</dt></dl></div><select name="personTitle" class="parsley-validated hasCustomSelect .no-change, .bv-dropdown-select is-invisible" id="personTitle" required="" data-required-message="Please select a title"> 
 
       <option selected="selected" value="">Title</option> 
 
       <option value="Mr">Mr</option> 
 
       <option value="Mrs">Mrs</option> 
 
       <option value="Miss">Miss</option> 
 
       <option value="Ms">Ms</option> 
 
       <option value="Dr">Dr</option> 
 
      </select> 
 

 
    </div>

回答

0

這裏有幾個選項來嘗試,如果你還沒有:

If opt.Value = "Miss" Then 
'Debug.Print "found!" 
opt.Click 

OR

If opt.Value = "Miss" Then 
'Debug.Print "found!" 
opt.Focus 
opt.FireEvent ("onchange") 

如果事實證明這是在kendoGrid或kendoDropDownList中完成的事情,那麼我也可以幫助解決這個問題。