사용중인 웹 사이트는 www.msci.com입니다. 웹 사이트는 변경할 수있는 여러 가지 양식을 사용합니다. 선택의 각 조합은 특정 값 행렬 (원하는 데이터)을 작성합니다. 내 엑셀 시트에 동일한 변수를 작성하여 시트 B의 일부 코드를 채워야 만 동일한 시트에 다른 곳에 배치해야하는 데이터 테이블을 작성해야합니다.vba를 사용하여 웹 기반 데이터 가져 오기
내 매크로에서 이러한 HTML 메뉴 (양식)를 채우기 위해 일부 html 코드를 통합해야한다고 생각합니다. 폼의 기본 HTML ID를 발견하고이를 코드에 통합하려고했습니다. 나는 코드가 부분적으로 작동한다고 생각하지만, 캘린더 템플릿에서 날짜를 변경하는 것은 분명히 작동하지 않습니다. 지금까지 내 코드 :
웹 페이지는 쿼리 테이블의 데이터를 추출하기에 너무 복잡하다면Sub getMSCIdata()
Dim mktval As String
Dim curr As String
Dim indlvl As String
Dim calendarinput As String
curr = Range("$B$3")
mktval = Range("$B$2")
indlvl = Range("$B$4")
calendarinput = Range("$B$5")
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.mscibarra.com/webapp/indexperf/pages/IEIPerformanceRegional.jsf?scope=0&mktval&size=36&style=C&calendarinput&curr&indlvl&lang=en" _
, Destination:=Range("$A$10"))
.Name = _
"IEIPerformanceRegional.jsf?scope=0&mktval&size=36&style=C&calendarinput&curr&indlvl&lang=en"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """templateForm:tableResult0"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
안녕하세요. Tom, 빠른 답변을 보내 주셔서 감사합니다. 귀하의 코드를 실행하려고하지만, 소위 '웹 기반 컨트롤'을 만드는 방법을 모르겠습니다. 'Set WB = myWebBrowser.Object'시도했지만 작동하지 않는 것 같습니다. – user45663
토요일에 단계별 가이드를 게시 할 예정입니다. –