내가 만든 건물 매크로는 Excel 스프레드 시트에서 이름을 가져 와서 Internet Explorer를 열고 온라인 디렉토리를 검색합니다. 디렉토리를 검색 한 후 관리자 이름이있는 Java 양식을 가져옵니다. 관리자 이름을 수동으로 탭하여 마우스 오른쪽 버튼을 클릭하고 바로 가기를 복사 한 다음 스프레드 시트에 다시 게시 할 수 있습니다. 그러나 일관된 탭 및 바로 가기 복사 문제가 있습니다.VBA와 인터넷 익스플로러의 상호 작용
- IE 창에 포커스를 다시 가져 오는 간단한 방법이 있습니까?
- 바로 가기를 수동으로 클릭하지 않고 어떻게 복사합니까?
코드 :
모듈의 시작 부분에서Sub Macro1()
'
Dim ie As Object
Set ie = CreateObject("internetexplorer.application")
ie.Visible = True
ie.navigate "****url****"
While ie.busy
DoEvents
Wend
ie.document.getElementById("SSOID").Value = "Z19516732"
ie.document.getElementById("Advanced").Checked = False
ie.document.all("Search").Click
'this loop is to slow the macro as the java form is filled from the search
For i = 1 To 400000000
i = i + 1
Next i
'ie.Object.Activate
ie.document.getElementById("Advanced").Checked = False
ie.document.getElementById("SSOID").Focus
Application.SendKeys "{TAB 6}" ', True
'bring up the control menu/right click
Application.SendKeys "+{F10}"
'copy shortcut is 8 items down on the list
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
Application.SendKeys "{DOWN}"
'enter was not working so the shortcut for the menu is 't'
'SendKeys "{ENTER}"
Application.SendKeys "{t}"
Windows("Book21").Activate
Range("A1").Select
ActiveSheet.Paste
End Sub
전에 setForegroundWindow를 시도했지만 이번에는 고마워! 그러나 HTML 소스는 필요한 링크를 표시하지 않습니다. 비록 링크가 특별히 필요한 것은 아닙니다. 텍스트 (관리자의 이름)가 필요하지만 마우스 오른쪽 버튼으로 복사 할 수 없습니다. 텍스트를 강조하는 간단한 방법이 있습니까? 나는 단지 링크를 복사하여 붙여 넣기를 계획하고 있었고, 빠른 링크를 사용하여 hte 링크 양식에서 이름을 지울 수있었습니다. – orangehairbandit
감사합니다. Gaffi!창의력을 집중시키는 첫 번째 부분은 멋지다. 내가 전에 말했던 것처럼,하지만 당신은 마법의 손길이 있었을 것입니다. 내 질문의 두 번째 부분 인 바로 가기 만들기에서 실수를 발견했습니다. 어떤 이유로 든, 검색 초점을 위해 사용했던 "초점"은 초점을 맞추기 만했으나 선택하지 않았습니다. 그래서 ".select"로 전환하고 application.sendkeys "~"(Enter 키)로 hte sendkeys를 지정하면 모든 것이 함께 나타납니다! 여기에 처음으로 stackflow 사용자가 아니라 독자와 꽤 아프고 심술 궂은 냄새! 감사! – orangehairbandit
@orangehairbandit 기꺼이 도와 드리겠습니다! – Gaffi