회사의 자동화를 만들려고 어려움을 겪었으므로 능가 할 수 없습니다. 나는이 사이트와 다른 사이트에서 많은 기사를 읽었지만 대답을 찾지 못했습니다.값을 영구히 변경하는 방법
기본적으로 내 회사에서 사용하는 인터넷 응용 프로그램을 클릭하면 드롭 다운 목록이 표시됩니다. 사용자는 10 가지 위치에서 값을 "Read"에서 "All"로 변경해야합니다. 그런 다음 애플리케이션은 변경 사항을 확인하고 양식을 저장할 수 있습니다.
특정 필드를 클릭하여 드롭 다운을 활성화하고이 드롭 다운에서 올바른 옵션을 선택하는 코드를 작성했습니다. 그러나 내가 그 모든 10 개의 드롭 다운을 통해 반복 할 때 효과는 보이지 않습니다.
재미있는 부분이 있습니다. "debug.print objinputs.outerHTML"에 중단 점을 넣은 다음 매크로를 계속 진행하면 변경 사항이 적용되며 모든 것이 올바르게 수행됩니다. 하지만 브레이크 포인트가 없으면 무언가 잘못되어 모든 값이 다시 "읽기"로 돌아갑니다. 누가 여기에 문제가 될지 아는 사람이 있습니까?
더 많은 정보가 필요하면 알려주십시오.
Set ifrm = Nothing
Do Until ifrm.Length > 0
Set ifrm = IE.Document.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("iframe")(1).contentDocument.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("tbody")(znacznik - 1).Document.getElementsByTagName("td")
Loop
Counter = 1
For Each ele In ifrm
Worksheets("Test").Cells(Counter, 1) = ele.outerHTML
Counter = Counter + 1
If InStr(ele.outerHTML, "<td title=" & Chr(34) & "Read") Then
ele.Click
Do Until Not ele.Busy And ele.readyState = READYSTATE_COMPLETE: Loop
Set objInputs = Nothing
Set objInputs = IE.Document.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("iframe")(1).contentDocument.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("iframe")(0).contentDocument.getElementsByTagName("tbody")(znacznik - 1).Document.getElementsByTagName("select")(3)
objInputs.Value = "All"
Debug.Print objInputs.Value
Do Until Not IE.Busy And IE.readyState = READYSTATE_COMPLETE: Loop
End If
Next