2016-06-14 2 views
1

Excel에서 하나의 목록을 만듭니다.이 범위의 각 셀에 대해 A2에서 A22로 을 만들었습니다. 하나의 하이퍼 링크가 있었는데 모든 셀을 반복하고 링크를 열어야합니다. 간단한?!?!?VBA 열기 브라우저의 새 인스턴스에 하이퍼 링크를 엽니 다.

Sub PlayAllVideo() 
For Each cl In Range("A2:A22") 
    cl.Select 
    Selection.Hyperlinks(1).Follow NewWindow:=True, AddHistory:=True 
Next cl 
End Sub 

하지만 플레이 잘못 내 코드가 작동 모든 기록은 내가 브라우저의 인스턴스, 동일한 인스턴스에서 모든 탭이 필요합니다 : 더 많거나 적은 나를 위해 쉽게이 트레드보다 코드를 작성이다. 매개 변수 NewWindow 하나의 탭을 추가하십시오. 브라우저의 새 인스턴스를 열려면 어떻게해야합니까?

답변

-1

탭이 다시 브라우저를 돌아 다니기 또는 새 탭을 작성하려면, 매번 이런 식으로 IE의 자신의 인스턴스를 생성 :

이 아마 작동
Sub PlayAllVideo() 
    Dim IE As Object 

    For Each cl In Range("A2:A22") 
     Set IE = CreateObject("InternetExplorer.Application") 
     'It is generally advisable to avoid using Select and ActiveCell 
     'cl.Select 
     IE.Visible = True 
     IE.Navigate cl.Hyperlinks.item(1).Address 
    Next cl 
    Set IE = Nothing 
End Sub 
+0

팀의 대답은 아주 좋았습니다. 한 번의 오류로 답을 썼습니다. 어떻게 유용하게 바꿀 수 있습니까? – Fabrizio

+0

이 코드는 나에게 아무런 오류없이 작동합니다. 당신이 얻고있는 오류는 무엇입니까? 그리고 유용하지 않은 것은 무엇입니까 ?? 귀하의 질문은 IE의 자체 인스턴스에서 각 링크를 여는 방법이었습니다. 이것은 정확하게 그 일을합니다. 내 대답이 유용하지 않다면 질문을 다시 정의하십시오. – Tim

0

브라우저 측에 문제가있는 것 같습니다. Firefox 및 Internet Explorer를 사용해 보았는데 브라우저 설정을 변경 한 후에 문제가 해결되었습니다. 그러나 VBA의 NewWindow 설정에 관계없이 항상 새 창이 열리기 때문에 솔루션이 완벽하지 않습니다.

Firefox를 사용한다고 가정 할 때 "새 탭을 새 탭으로 열기"옵션을 해제 할 때까지 동일한 동작이 발생했습니다. 그런 다음 각 하이퍼 링크가 별도의 창에서 열렸습니다.

Internet Explorer의 경우 인터넷 옵션> 탭 설정> 다른 프로그램에서 링크 열기가 새 탭 대신 새 창으로 변경되었습니다.

+1

, 그러나 그것은 변경하려면 통합 문서를 사용하는 모든 사람을 필요로 이 설정. 또한이 설정을 변경하면 브라우저와 상호 작용하는 모든 응용 프로그램의 기본 동작에 영향을줍니다. – Tim

+0

네 말이 맞아. 이건 좋은 방법이 아니야. 당신의 방법은 훨씬 낫습니다! 새로운 IE 창을 만드는 것을 생각하지 않았습니다. – Yarnspinner

관련 문제