Excel에서 IE 기반 VBA 스크립트를 사용하여 작성했습니다. VBA 스크립트는 IE를 열고, 웹 사이트로 이동하고, 사이트에 로그인하고, 검색 기준을 입력하고, 새 창을 엽니 다. VBA 스크립트가 원래 인스턴스에 집중할 수 있도록 GetIE 함수를 사용하여 새로운 Windows 웹 사이트를 다시 IE의 원래 인스턴스로 미러링했습니다. 그런 다음 해당 창의 링크를 클릭 한 다음 가격 정보를 강조 표시합니다. 하지만 그게 내가 붙어있는 곳이야. 나는 내가 강조한 것을 단순히 클립 보드에 복사 할 코드가 절실히 필요하다. 여기에 게시 된 코드는 다음과 같습니다Internet Explorer에서 선택한 정보 복사
Sub ExtractPMDPricing()
Dim core As ICore
Set core = New OpenTwebstLib.core
Dim IE As InternetExlorer
Set IE = CreateObject("Internet Explorer")
Dim browser As IBrowser
Set browser = core.StartBrowser("xxxxxxxxxxxxxxxx")
Range("A1").Select
Selection.Copy
Call browser.FindElement("div", "id=footer-position-placeholder").Click
Call browser.FindElement("a", "uiname=log in, index=1").Click
Call browser.FindElement("input text", "id=erznr").InputText(ActiveCell.Value)
Call browser.FindElement("td", "index=2").Click
Call browser.FindElement("input button", "id=sub").Click
Application.Wait (Now + #12:00:06 AM#)
Call GetIE
Call browser.FindElement("span", "id=selectionctrl_MATCONTSMALLCTRL_navigatorctrl_treeselectionctrl_MATCONTSMALLCTRL_navigatorctrl_Prices-cnt-start").Click
Call browser.FindElement("input text", "id=selectionctrl_MATCONTSMALLCTRL_subcatviewerctrl_selectionctrl_mod_ergebnis_ga[1].kbetr").RightClick
txt = IE.document.parentWindow.clipboardData.GetData("TEXT")
Range("B2").Select
ActiveCell.PasteSpecial
End Sub
' ZVI:2011-05-30 VBA Macro For Already Open IE Window
' Reference required: Tools - References - Microsoft Internet Controls
Function GetIE()
Dim shellWins As ShellWindows
Dim IE As InternetExplorer
Set shellWins = New ShellWindows
If shellWins.Count > 0 Then
' Get IE
Set IE = shellWins.Item(0)
Else
' Create IE
Set IE = New InternetExplorer
IE.Visible = False
End If
IE.Navigate "xxxxxxxxxxxxxxxx"
Set IE = Nothing
Set shellWins = Nothing
End Function
내가 범위 위의 하위 ("B2")의 종료 직전 마지막 통화 browser.findelement 선 아래에 맞아야 필요가 복사 코드입니다.
PS 프로그래머는 클립 보드를 사용할 수 없으며 사용자 만 사용할 수 있습니다. 직접 다른 프로그램에 넣어야합니다. – Noodles
답장을 보내 주셔서 감사합니다 @ 국수! 나는 웹 기반이 아닌 매크로에서 훨씬 더 많은 경험을 쌓아왔다. 그래서 이것은 정말로 나를위한 두려움이었다. 필자는 보통 웹 사이트에서 순수한 참조를 벗어나기 위해 필요한 모든 코드 추가를 기반으로 사용할 수있는 스크립트 레코더를 가지고 있습니다. 지금은 거의 작동 중입니다 ... 나는 그것을 느낄 수 있습니다. 그러나 지금 매크로를 실행할 때, 당신이 제공 한 코드의 최상위 라인을 참조하고 고전 ** 런타임 오류 424 - 객체에 오류 코드 **가 필요합니다. 나는 꽤 재미있는 브라우저 명령으로 놀고있다. 더 많은 도움을 주시면 감사하겠습니다. –
ie = createObject ("Internet Explorer")를 설정하십시오. – Noodles