2014-02-10 3 views
1

나는 우리의보고를 자동화하기 위해 찾고 있습니다. 우리는 현재 Firefox에서보고를 위해 참조하는 5 개의 탭이 있습니다. 각 탭에는 매일 아침 바뀌는 고유 한 URL이 있습니다. 우리는 매일 아침 이러한 URL을 업데이트해야합니다 (Excel 스프레드 시트에서). 나는 이것을 자동화하고 싶다. 나는 이것에 대한 약간의 제약이있다. 각 새 URL에 대해 새 탭을 열 수 없습니다 (기본적으로 각 탭에서 URL을 바꿔야 함). 나는 셀레늄으로 보았다 그러나 순수한 VBA 또는 배치 파일을 사용하는 또 다른 방법 중 하나를 수행 할 수 있다면 그래서 내가 궁금가자동화 5 Firefox 탭

http://www.makeuseof.com/tag/using-vba-to-automate-internet-explorer-sessions-from-an-excel-spreadsheet/

http://www.makeuseof.com/tag/how-to-automate-firefox-or-chrome-with-vba-and-selenium/

을 작동시킬 수없는 이유는 무엇입니까?

+0

VBA에서 FF로 거의 작업하지 않아서 답변을 알지 못했지만 실제로 FF인지, 실제로 VBA에서 자연스럽게 자동화 할 수있는 IE인지 궁금하다. –

+0

@SiddharthRout - IE에서는 할 수 있지만 페이지를 자동 새로 고치고 https://addons.mozilla.org/en-US/firefox/addon/tab-auto-reload/와 같은 타일을 추가하는 추가 기능을 찾을 수 없습니까? src = 자동 재로드 및 타일링을위한 https://addons.mozilla.org/en-US/firefox/addon/tile-tabs/?src=search 검색 –

+0

[IE Autorefresh] [이] (http : //download.cnet.com/AutoRefresher-for-IE/3000-12512_4-10062693.html) 또는 [이쪽] (http://www.refreshthis.com/) –

답변

1

Microsoft Internet ControlsMicrosoft Shell Controls and Automation에 대한 참조를 추가해야합니다. 아래 스크린 샷을 참조하십시오.

enter image description here

코드 :

Sub Work_With_Open_IE_Instance() 
    Dim objShell As Shell 
    Dim objIE As InternetExplorer 
    Dim objWin As Object 

    Set objShell = New Shell 

    For Each objWin In objShell.Windows 
     If TypeName(objWin.Document) = "HTMLDocument" Then 
      Set objIE = objWin 

      '~~> This will display the URL of the IE which we will use to bind 
      Debug.Print objIE.LocationURL 

      '~~> Example to bind 
      '~~> Change URL to your existing URL 
      Select Case objIE.LocationURL 
       Case "https://www.google.com" 
        With objIE 
         .Refresh 
         ' 
         '~~> Rest of the code 
         ' 
        End With 
       Case "http://in.msn.com" 
        With objIE 
         .Refresh 
         ' 
         '~~> Rest of the code 
         ' 
        End With 
       End Select 
      End If 
     End If 
    Next objWin 
End Sub 

Select Case 단지 데모 목적입니다. 당신이 그들과 함께 일하기를 원하면 Select Case을 사용하지 마십시오. If/EndIf을 하나씩 사용하십시오.

+0

이것은 이상적인 해결책은 아니지만 지금은해야 할 일이 있습니다. 시간과 노력에 감사드립니다! –