2013-08-10 4 views
-2

엑셀 시트를 사용하여 incometax 반환 평가와 같은 계산을합니다. 웹 사이트의 데이터를 Excel 시트로 가져와야합니다. 나는 성공적으로 웹 사이트 URL에 매크로를 사용하여 웹 페이지에서 Excel로 표 넣기

  • 이동 VBA 단계로

    1. 만들기 인터넷 익스플로러 응용 프로그램을 VBA 단계를 사용하고
    2. 내 엑셀 시트에 이미 고유 ID가 자동으로 양식을 작성 로그인하여 한
    3. 이제 양식 및 결과 페이지 제출 양식 테이블에 데이터가 있습니다.
    4. getelementsbyid("tableid")을 사용하여 Excel 시트에 데이터를 복사하고 붙여 넣었습니다.

    내 질문

    1. 모든 테이블 ID 또는 이름이없는
    2. 테이블
    3. 지금은 아이디없이 테이블에서 데이터를 끌어 할

    의 많이있다 위에서 세 번째 테이블. 이 작업을 수행하는 방법? 나는 열심히 노력했다. 필자는 모든 테이블을 복사 할 때이 테이블의 행이 항상 변경되므로 모든 테이블을 원하지 않습니다.

  • +0

    가 왜 VBA를 사용하여 '인터넷 익스플로러 응용 프로그램'을 만들려는 것이 페이지에서 질문 가져 오는 방법입니까? Excel은 이미'Data -> From Web' 옵션을 가지고 있습니다. – richie

    답변

    0

    매크로 기록을 시작하고 데이터 -> 웹에서 가져 오기 대화 상자에서 필요한 웹 페이지를 열고 필요한 테이블을 선택한 다음 필요에 따라 모든 가져 오기 옵션을 설정하고 데이터를 가져옵니다. 그런 다음 녹음을 중지하십시오.

    자동 생성 된 매크로 코드가있는 보일러 플레이트가 생기면 원하는대로 바꿀 수 있습니다.

    나는 여러 번했는데, 이것은 지금 당신과 함께 나누기 위해 저장하지 않았기 때문에 쉽습니다.

    업데이트 : 이것은 당신이

    Sub Macro1() 
    ' 
    ' Macro1 Macro 
    ' 
    
    ' 
        With ActiveSheet.QueryTables.Add(Connection:= _ 
         "URL;http://stackoverflow.com/questions/18158928/get-tabledata-from-webpage-into-excel-using-macro/18160278#18160278" _ 
         , Destination:=Range("$A$1")) 
         .Name = "18160278#18160278" 
         .FieldNames = True 
         .RowNumbers = False 
         .FillAdjacentFormulas = False 
         .PreserveFormatting = True 
         .RefreshOnFileOpen = False 
         .BackgroundQuery = True 
         .RefreshStyle = xlOverwriteCells ' adjust this setting to your needs 
         .SavePassword = False 
         .SaveData = True 
         .AdjustColumnWidth = True 
         .RefreshPeriod = 0 
         .WebSelectionType = xlSpecifiedTables 
         .WebFormatting = xlWebFormattingNone 
         .WebTables = "1" ' this is the number of the required table on a page 
         .WebPreFormattedTextToColumns = True 
         .WebConsecutiveDelimitersAsOne = True 
         .WebSingleBlockTextImport = False 
         .WebDisableDateRecognition = True 
         .WebDisableRedirections = False 
         .Refresh BackgroundQuery:=False 
        End With 
    End Sub 
    
    +0

    필요한 웹 페이지로 이동하려면 로그인 및 기타 여러 작업을 수행해야하기 때문에. 나는 webquery에 대해 알고있다. 그것은 그렇게 단순하지 않습니다. 어쨌든 감사합니다 –

    관련 문제