2011-09-23 7 views
0

자동화 문제가 발생했습니다.IE 자동화가 VBA를 사용하여 양식 작업에 직접 HTTP Post를 보냅니다.

HTML 개체 라이브러리를 사용하여 다운로드를 자동화하고 있습니다. 자동화 프로세스가 끝나면 양식의 제출 단추를 클릭해야하며 다운로드가 시작됩니다. 내가이 같은 winapi32 기능 대화 상자를 처리 할 때 :

hWndDialog = 0 

'Wait until the dialog is open 
While hWndDialog = 0 
    hWndDialog = FindWindow(vbNullString, "Dateidownload") 
Wend 

'get the handle of the button 
hWndDialogSpeichern = FindWindowEx(hWndDialog, 0, "Button", "&Speichern") 

Call SetForegroundWindow(hWndDialog) 

'send message 
lRetval = SendMessage(hWndDialogSpeichern, &H5, ByVal 0&, ByVal 0&) 

아무런 반응이 없습니다. 대화 상자가 모달이므로 뭔가를 읽었습니다. 불가능합니다.

그래서 POST 데이터를 폼의 동작에 직접 보내려고합니다. 나는 이것이 최선의 가능성이라고 생각한다.

하지만 서버로 보낼 내용을 모르겠습니다.

다음

HTML 페이지에서 양식 :

<form action="/smarti/bismt/bismt/resexport" method="post"> 
<input class="active" type="button" onclick="submitform()" name="button_export" value="Export"> 

submitform()은 다음 몇 가지 값을 확인하고 호출

document.forms[0].submit(); 

을하지만, 내가 POST 요청을 보낼 때에 "/ 인 SMARTi/BISMT/bismt/resexport "나는 페이지 만 얻는다. 요청 헤더를 설정하는 방법을 모르겠습니다. 폼에 보내고있는 것을보기 위해 방화범을 사용하려고했지만, 나는 아무것도 보지 못했습니다.

답변

관련 문제