나는 필자가 필요로하는 큰 보고서를 게시하는 회사 사이트를 가지고 있습니다. 웹 페이지를 열어서 열 필요가있는 스프레드 시트에 대한 링크를 얻을 수 있지만 열린/저장/취소를위한 하나의 IE 팝업을 얻고 스프레드 시트를 열 때 클릭하면 두 번째 팝업이 나타납니다 (이 스프레드 시트가 확장명에 지정된 형식이 아닌 것을 말하는 엑셀에서 나온 것) "가능하다면 첫 번째 팝업을 멀리 떨어 뜨리는 방법을 알지 못한다. DisplayAlerts = False 인 경우,이 자동 프로젝트 시작 코드는 다음과 같습니다.프롬프트없이 ASP 사이트에서 스프레드 시트를 검색하려고 시도했습니다.
[편집] 편집 한 후 원래 코딩을 수정하여 가장 최근의 시도는 이것입니다. 나는 sendkey를 사용하여 첫 번째 파일 다운로드 팝업을 지나칠 수 있었고 현재 두 번째 팝업 처리를 위해 노력 중입니다. 초점을 다시 뛰어나다). sendkeys 부분을 바꾸는 것에 대한 모든 제안은 확실히 환영받을뿐만 아니라 초점을 반환하여 Excel에서 두 번째 팝업을 제어 할 수 있도록 조언합니다 (최선의 방법이라면). 업데이트 된 코드는 다음과 같습니다 : 당신은 당신의 코드에서 해당 메시지를 억제 할 수하지 않을거야
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Sub Automation()
Dim IeApp As Object
Dim IeDoc As Object
Dim URL, URL2 As String
Application.DisplayAlerts = False
URL = "https://companysite.com/directorypage/default.aspx"
URL2 = "https://companysite.com/directorypage/Reports/MyReport.aspx?Format=Excel"
Set IeApp = CreateObject("InternetExplorer.Application")
IeApp.Visible = True
IeApp.Navigate URL
While IeApp.Busy Or IeApp.ReadyState <> 4: DoEvents: Wend
IeApp.Document.All.Item("MainContent_btnAuthenticate").Click
While IeApp.Busy Or IeApp.ReadyState <> 4: DoEvents: Wend
Set IeApp = CreateObject("InternetExplorer.Application")
IeApp.Visible = False
IeApp.Navigate URL2
Do Until thewindow <> 0 'wait for the "File Download" popup window to appear
thewindow = FindWindow(vbNullString, "File Download")
Loop
SendKeys "{LEFT}"
Application.Wait Now + TimeValue("00:00:01")
SendKeys "{LEFT}"
Application.Wait Now + TimeValue("00:00:01")
SendKeys "{ENTER}"
End Sub
수동 용 IE에서 요청할 때 당신이 얻을 무슨 파일 :'https://companysite.com/directorypage/Reports/MyReport.aspx?Format = Excel'. 이 파일은'.xls' 또는'.csv' 파일입니까? 네이티브? – JMax
질문을 다시 읽었습니다. 첫 번째 팝업을 없애면 다음과 같은 결과를 얻을 수 있습니다. http://superuser.com/questions/246553/how-to-disable-file-download-popup-in-internet-explorer – JMax
한 번에 한 가지씩지나 가기; 불행히도 회사 컴퓨터의 경우 신뢰할 수있는 목록에 추가하는 것을 포함하여 IE 설정을 변경할 수 없습니다. 마찬가지로, 나는 (또는 회사 시스템으로 시도 할 수도 없다) 레지스트리 항목을 편집 할 수 없다. 귀하의 첫 번째 질문에 관해서는 .xls입니다 -하지만, urldownloadtofile 메서드를 통해 다운로드하려고 시도했지만, 링크를 통해 (위)에서 빈 스프레드 시트 만 얻을 수 있습니다. 파일 다운로드 팝업에서 "열기"를 클릭하면 스프레드 시트의 실제 데이터가 다운로드됩니다. 그룹 정책에 대한 – Jon