2013-10-19 3 views
3

나는 MS corprate 웹 사이트에서 정보를 어셈블하기 위해 기본적으로 MACRO로 구축중인 앱에 대해 MS EXCEL VBA에서 여러 웹 쿼리를 자동화하려고합니다. 문서가 모두 매개 변수없이 단일 URL 아래에 표시되므로 서버 측 스크립팅을 사용한다고 가정합니다. 결과적으로 EXCEL 웹 쿼리 방법은 불가능합니다. 프로그래밍 방식으로 필요한 사이트를 열 수 있지만 원하는 출력에 도달하는 데 필요한 탐색 레이어에 레이어가 있습니다. 그러나 시작 페이지에는 지정된 문서를 호출하는 데 사용되는 매개 변수 문자열을 보유하는 .onclick 함수가 있습니다. 나는 실제 코드를 게시 할 수 있도록 코드와 웹 정보는 민감하지만, .onclick는 소스에 다음과 같이 생겼다 :웹 쿼리 MS EXCEL VBA

IEdoc.TD.item(i).onclick="fnFtch('MBSOVY07OZ-LIMO/TVDBLDAT#WNISAZÿNÿALLÿTÿIÿÿ ÿ24ÿ ÿÿ ÿ ÿÿ ÿÿ ÿMÿÿNÿNO');" 

내가 변수 이런 식으로 할당하는 경우 :

strgvar = IEdoc.TD.item(i).onclick or set objvar = IEdoc.TD.item(i).onclick 

결과는 더 같다 :

function(){'fnFtch('MBSOVY07OZ-LIMO/TVDBLDAT#WNISAZÿNÿALLÿTÿIÿÿ ÿ24ÿ ÿÿ ÿ ÿÿ ÿÿ ÿMÿÿNÿNO');'} 

가 나는 결국의 프로그램에 탐색의 여러 페이지를 다음으로 끝날 것 매개 변수에 "#"다음 문자열의 일부를 변경하고 싶습니다. 내가 원치 않는 부분을 원하는 문자열로 바꿉니다 .click은 아무 것도하지 않습니다. 그것은 내가이 작업을 수행하기 때문에 경우에 "문자열"과 "대상"속성 혼합있어 나에게 분명하다 :

Set objvar = IEdic.TD.item(i).onclick 
strgvar = objvar 
IEdoc.TD.item(i).onclick = strgvar 

.click이 작업을 실패합니다.

이 같은 "개체"유형 모두를 떠날 경우 :

Set objvar = IEdoc.TD.item(i).onclick 
IEdoc.TD.item(i).onclick = objvar 
.click은 여전히 ​​코드의 없음 "형식 불일치"오류를 반환하지 작동

, 그냥

답변

0
불활성 .click를 렌더링

navigate 및 Document.documentElement.innerHTML을 사용하여 페이지의 텍스트를 읽으려고 했습니까? FireBug를 사용하여 하나의 웹 사이트를 추적하고 본 모든 페이지에 대해 두 페이지로 이동해야했습니다 (첫 번째 페이지는 "요청"이었고 두 번째 페이지는 실제로 내용을 제공했습니다). 매우 성 가시지 만 Navigate와 함께 작업 할 수 있습니다.

0

FireEvent은 모든 요소에 연결된 이벤트를 트리거하는 데 사용됩니다. 아래 코드를 시도하십시오.

Set objvar = IEdic.TD.item(i) 
objvar.FireEvent("onclick")