2017-09-02 127 views
0

我在Excel中遇到了一個宏問題,我想在javascript網頁中返回「input type =」文本「」的值,但值isn' (value =「」)中指定,即使網頁在文本框中顯示文本(網頁「打印」此文本框中的文本,但不是用戶的輸入),它也不會更改。從Excel中的文本框中獲取值使用Excel VBA

Using "IE.Document.getElementById("lat_txt_velmaxima").Value", returns Null. 

頁面上的代碼是:

class="campo txt_velmaxima"> <label for="lat_txt_velmaxima">Velocidade máxima:</label> 

<input type="text" name="lat_txt_velmaxima" id="lat_txt_velmaxima" 
disabled="disabled" value="" readonly="readonly" /> 

回答

0

如果我理解你的問題正確,你只需要抓住的是隻讀的文本輸入的值。

如果是這樣的話,通過JavaScript查詢DOM API的正確方法如下:在document

document.getElementById('lat_txt_velmaxima').value; 

注意小寫d,而在value小寫訴

+0

HTML代碼沒有價值,我無法通過document.getElementById('lat_txt_velmaxima')獲取它的值。我需要複製頁面的直接值,因爲我無法通過閱讀HTML代碼來獲取值。 但是,謝謝你的答案。 注意:該代碼適用於Excel中的VBA。 我試過的示例代碼: Range(「P」&Counter).Value = IE.document.getElementsByTagName(「lat_txt_velmaxima」)] 範圍(「P1」)。值= IE.document.getElementsByTagName(「lat_txt_velmaxima」) [範圍(「P1」)。 Value = IE.document.getElementById(「lat_txt_velmaxima」)] –

+0

@CarlosGuardado:您在上面添加的HTML代碼,其中沒有輸入值:您是從頁面的源代碼獲取的,還是通過檢查DOM與您的瀏覽器的開發人員工具?如果你從源頭獲得它,可能是前端動態添加了值,並且將在那裏供您查詢。如果你通過檢查DOM來獲得它,那麼你真的沒有什麼價值可供查詢。 「頁面的直接價值」是DOM。 –

+0

是的,我已經從源代碼中獲得了它,並且它是動態添加的,在這種情況下,您能否提供可以執行此任務的示例代碼,或者我要遵循的步驟? –