엑셀 vba 인터넷 새창

VBA
작성자
gmlcjf****
작성일
2022-01-05 11:25
조회
72
엑셀버전 : 엑셀2016

운영체제 : 윈도우10

안녕하세요

회사에서 사내 인터넷 사용 중에

메인 페이지에서 버튼클릭하여 새창이 열리고 열린 새창에서 다른 버튼을 클릭하고 싶은데요

메인페이지에서 버튼클릭해서 새창이 열리는데요

새창에서는 버튼클릭이 안돼요

코드가 이전 기존 인터넷 화면에서만 작동하는거같은데새창으로 전환하는 방법이 있을까요

회원등급 : 2레벨
포인트 : 42 EP
총질문 : 1 개 (마감율 : 0%)
채택답변 : 0 개
전체 1

  • 2022-01-06 08:52

    구글링 해보니.. 관련 코드가 있어서 첨부해드립니다~

    링크는 여기에.. https://www.ozgrid.com/forum/index.php?thread/148539-find-correct-tab-in-internet-explorer-and-activate-it/

    'References required:
    'Microsoft Internet Controls
    'Microsoft Shell Controls and Automation
    'UIAutomationClient
    Option Explicit
    #If VBA7 Then
     Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As LongPtr)
    #Else
     Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
    #End If
    Public Sub Test_IE_UIAutomation()
     Dim IE As InternetExplorer
     
     Set IE = Find_and_Activate_IE_Tab_By_URL("*ozgrid.com*")
     If Not IE Is Nothing Then
     Debug.Print "Activated IE tab"
     Debug.Print "LocationURL = "; IE.LocationURL
     Debug.Print "LocationName = "; IE.LocationName
     Else
     Debug.Print "Not activated IE tab"
     End If
     
    End Sub
    Private Function Find_and_Activate_IE_Tab_By_URL(findUrlLike As String) As InternetExplorer
     'Look for an IE browser window or tab which matches the specified URL (Like operator wildcards allowed).
     'If found, activate that IE tab and return it as an InternetExplorer object. Otherwise return Nothing.
     'Works with multiple IE windows
     Dim Shell As Shell
     Dim IE As InternetExplorer
     Dim i As Variant 'must be a variant to access items in Shell.Windows() array
     Dim tabURL As String
     
     Set Shell = New Shell
     i = 0
     Set Find_and_Activate_IE_Tab_By_URL = Nothing
     While i < Shell.Windows.Count And Find_and_Activate_IE_Tab_By_URL Is Nothing
     Set IE = Shell.Windows(i)
     If Not IE Is Nothing Then
     If TypeName(IE.Document) = "HTMLDocument" Then
     If LCase(IE.LocationURL) Like LCase(findUrlLike) Then
     'Found a tab or window which matches the specified URL, now activate it
     tabURL = UIAutomation_Click_IE_Tab_By_URL(IE.hwnd, findUrlLike)
     If tabURL <> "" Then Set Find_and_Activate_IE_Tab_By_URL = IE
     End If
     End If
     End If
     i = i + 1
     Wend
     
    End Function
    'Find and click (activate) a tab by its URL (can contain wildcards) and return its full URL from the IE address bar
    #If VBA7 Then
    Private Function UIAutomation_Click_IE_Tab_By_URL(IEhwnd As LongPtr, findUrlLike As String) As String
    #Else
    Private Function UIAutomation_Click_IE_Tab_By_URL(IEhwnd As Long, findUrlLike As String) As String
    #End If
     
     Dim UIauto As IUIAutomation
     Dim IEwindow As IUIAutomationElement, IEtab As IUIAutomationElement
     Dim IEtabs As IUIAutomationElementArray
     Dim tabItemCondition As IUIAutomationCondition
     Dim addressBarCondition As IUIAutomationCondition
     Dim IEtabPattern As IUIAutomationLegacyIAccessiblePattern
     Dim IEaddressBar As IUIAutomationElement
     Dim i As Long
     Dim IEaddressBarUrl As String, prevIEaddressBarUrl As String
     
     'Create UIAutomation object
     
     Set UIauto = New CUIAutomation
     
     'Get Internet Explorer UIAutomation element
     
     Set IEwindow = UIauto.ElementFromHandle(ByVal IEhwnd)
     IEwindow.SetFocus 'optional - brings the IE window to the foreground
     
     'Create condition to find a TabItemControl
     
     Set tabItemCondition = UIauto.CreatePropertyCondition(UIA_ControlTypePropertyId, UIA_TabItemControlTypeId)
     
     'Find all tabs
     
     Set IEtabs = IEwindow.FindAll(TreeScope_Descendants, tabItemCondition)
     
     'Create condition to find the IE address bar. This is a control with class name "AddressDisplay Control"
     
     Set addressBarCondition = UIauto.CreatePropertyCondition(UIA_ClassNamePropertyId, "AddressDisplay Control")
     
     'Activate each tab until the one with the specified URL is found
     
     UIAutomation_Click_IE_Tab_By_URL = ""
     prevIEaddressBarUrl = ""
     i = 0
     While i < IEtabs.Length And UIAutomation_Click_IE_Tab_By_URL = ""
     
     'Find the IE address bar
     
     Set IEaddressBar = IEwindow.FindFirst(TreeScope_Descendants, addressBarCondition)
     'Get URL from address bar
     
     IEaddressBarUrl = IEaddressBar.GetCurrentPropertyValue(UIA_LegacyIAccessibleValuePropertyId)
     
     'Is this the required URL?
     
     If Not LCase(IEaddressBarUrl) Like LCase(findUrlLike) Then
     
     'No, so activate the next tab by invoking its DoDefaultAction method (Click)
     
     Set IEtab = IEtabs.GetElement(i)
     Set IEtabPattern = IEtab.GetCurrentPattern(UIA_LegacyIAccessiblePatternId)
     IEtabPattern.DoDefaultAction
     DoEvents
     
     'Wait until the tab is activated, indicated by the URL being different to the previous URL
     
     Do
     Set IEaddressBar = IEwindow.FindFirst(TreeScope_Descendants, addressBarCondition)
     IEaddressBarUrl = IEaddressBar.GetCurrentPropertyValue(UIA_LegacyIAccessibleValuePropertyId)
     DoEvents
     Sleep 20
     Loop Until IEaddressBarUrl <> prevIEaddressBarUrl
     prevIEaddressBarUrl = IEaddressBarUrl
     
     Else
     
     'Yes, so return the full URL
     
     UIAutomation_Click_IE_Tab_By_URL = IEaddressBarUrl
     
     End If
     
     i = i + 1
     Wend
     
    End Function

전체 5,191
번호 카테고리 제목 작성자 작성일 추천 조회
알림
하루 딱 "1분", 진짜 쓰는 엑셀 꿀팁 👉 "오빠두엑셀" 인스타그램 오픈! (29)
트로피 오빠두엑셀 | 2021.10.12 | 추천 23 | 조회 788
트로피 오빠두엑셀 2021.10.12 23 788
공지사항 공지사항
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (21)
오빠두엑셀 | 2021.10.28 | 추천 30 | 조회 2466
트로피 오빠두엑셀 2021.10.28 30 2466
26295 파워쿼리/피벗
New 피벗테이블 '각 필드에 유지할 항목 수'에서 질문입니다. (1)
월마리아 | 20:12 | 추천 0 | 조회 4
월마리아 20:12 0 4
26294 함수/공식
New 합계값이 일치하지 않는 값 구하기! (1)
정해인 | 19:39 | 추천 0 | 조회 10
정해인 19:39 0 10
26290 함수/공식
New 기간구분 IF함수 에러 원인이 뭔지 모르겠어요 (4)
마운틴 | 17:38 | 추천 0 | 조회 19
마운틴 17:38 0 19
26285 함수/공식
New 이번주 시작일(월요일), 마지막일(금요일) yyyy-mm-dd 형식으로 출력하는 방법 (1)
joeee | 15:15 | 추천 0 | 조회 27
joeee 15:15 0 27
26284 피벗테이블
New 피벗 테이블 날짜인식 및 월별 그룹화 관련 첨부파일 (1)
baechu9 | 14:56 | 추천 0 | 조회 21
baechu9 14:56 0 21
26278 피벗테이블
New 피벗테이블 영상보면서 따라해보고 있는데요 잘안되요 ㅠ 첨부파일 (1)
희야맘 | 11:47 | 추천 0 | 조회 21
희야맘 11:47 0 21
26276 문서서식
New [조건부 서식] 아직 데이터가 입력되지 않은 칸에 조건부 서식 적용하지 않도록 하기 첨부파일
jo2 | 10:35 | 추천 0 | 조회 25
jo2 10:35 0 25
26268 함수/공식
New 조건부서식 내에서 INDIRECT 함수와 AND 함수를 함께 사용할 수 없나요? (6)
나는나 | 2022.01.22 | 추천 0 | 조회 44
나는나 2022.01.22 0 44
26260 함수/공식
New 각 지점별 연,월 매출의 합을 구하고 싶습니다. 첨부파일 (4) 답변완료
창이 | 2022.01.22 | 추천 1 | 조회 38
창이 2022.01.22 1 38
26246 함수/공식
New 엑셀 월 구하기 주 구하기 질문 입니다. 첨부파일 (3)
천고마비 | 2022.01.22 | 추천 0 | 조회 40
천고마비 2022.01.22 0 40
26243 함수/공식
New 특정 조건 행 제외 후 다른 시트에 리스트화 첨부파일 (4) 답변완료
상큼한도로시 | 2022.01.21 | 추천 0 | 조회 45
상큼한도로시 2022.01.21 0 45
26239 VBA
New 재고관리 프로그램에서 검색할 때 체크박스 사용하는 방법이 궁금합니다.
엑셀열공 | 2022.01.21 | 추천 0 | 조회 43
엑셀열공 2022.01.21 0 43
26237 피벗테이블
New 시간표시막대 질문 (1)
최재영 | 2022.01.21 | 추천 0 | 조회 39
최재영 2022.01.21 0 39
26236 함수/공식
New 컨트롤 f (찾기) 로 함수의 결과값 검색방법이 있나요? (1)
정지훈 | 2022.01.21 | 추천 0 | 조회 32
정지훈 2022.01.21 0 32
26234 함수/공식
New 함수를 대량변경하고싶은데 가능한지 문의드립니다. (1)
정지훈 | 2022.01.21 | 추천 0 | 조회 38
정지훈 2022.01.21 0 38
26229 함수/공식
New 함수를 어떤걸 써야 될지 모르겠습니다. 첨부파일 (3) 답변완료
조커 | 2022.01.21 | 추천 0 | 조회 51
조커 2022.01.21 0 51
26223 VBA
New 버튼이 클릭이 되지 않습니다. 방법을 모르겠어요. 첨부파일 (4)
다르마 | 2022.01.21 | 추천 0 | 조회 41
다르마 2022.01.21 0 41
26222 VBA
New 자료찾기 vba 문의드립니다. (1)
ㅈㄱㄹ | 2022.01.21 | 추천 0 | 조회 36
ㅈㄱㄹ 2022.01.21 0 36
26220 함수/공식
New 엑셀 셀값 동일 데이터를 순서대로 카운터 하고 싶습니다. (3)
sickp**** | 2022.01.21 | 추천 0 | 조회 37
sickp**** 2022.01.21 0 37
26217 VBA
New 엑셀 매크로 렉걸림해결방법문의 (1)
dud**** | 2022.01.21 | 추천 -1 | 조회 33
dud**** 2022.01.21 -1 33
26214 차트/그래프
New 항목 개수가 변하는 엑셀 차트 그리는 거 도와주세요...ㅠ.ㅠ (15)
태양비 | 2022.01.21 | 추천 0 | 조회 41
태양비 2022.01.21 0 41
26215 함수/공식
New 엑셀 수식숨기기 이후 텍스트입력 문의 (1)
dud**** | 2022.01.21 | 추천 -1 | 조회 32
dud**** 2022.01.21 -1 32
26206 VBA
New 문자자동보내기 편보고 문의 드립니다.
히히후후 | 2022.01.20 | 추천 0 | 조회 30
히히후후 2022.01.20 0 30
26205 함수/공식
New 한 줄 데이터 여러 줄로 나누는 방법 (5초컷 가능) 관련 질문 (2) 답변완료
레논 | 2022.01.20 | 추천 0 | 조회 39
레논 2022.01.20 0 39
26201 VBA
New 슬라이서 선택시 연관된 이미지를 불러오는 방법이 있을까요? 첨부파일 (2) 답변완료
쿠쿠 | 2022.01.20 | 추천 0 | 조회 41
쿠쿠 2022.01.20 0 41
26197 기능/도구
문서간 시트복사이동시, 대상통합문서가 안떠요. 하나밖에
배부른 소크라테스 | 2022.01.20 | 추천 0 | 조회 25
배부른 소크라테스 2022.01.20 0 25
26194 기능/도구
엑셀에 적합한 하드웨어스펙이라는 것이 있을까요? (2) 답변완료
풀빛처럼 | 2022.01.20 | 추천 0 | 조회 46
풀빛처럼 2022.01.20 0 46
26192 함수/공식
엑셀에서 3차 함수 푸는방법 (9) 답변완료
박우성 | 2022.01.20 | 추천 0 | 조회 64
박우성 2022.01.20 0 64
26190 함수/공식
자재관리 대장 만들기 첨부파일 (1)
마른막대기 | 2022.01.20 | 추천 0 | 조회 65
마른막대기 2022.01.20 0 65
26189 함수/공식
고급필터 매크로 자동화 중 0 으로 입력된 값을 empty(빈칸)으로 인식가능한지요 (1)
119구조대 | 2022.01.20 | 추천 0 | 조회 22
119구조대 2022.01.20 0 22