불행히도 내 문제에 대한 적절한 해결책을 찾을 수 없습니다.VBA - 개체 IE (파일 URL을 알 수 없음) 단추 클릭 후 파일을 저장하는 방법
웹 사이트에서 파일을 다운로드하고 싶습니다. 다운로드를 원하는 항목을 지정하고 버튼을 클릭하면 브라우저에 "다른 이름으로 저장"대화 상자가 나타납니다.
지금까지 설정을 관리하고 InternetExplorer.Application을 통해 VBA의 버튼을 클릭하고 요소 및 태그별로 소스 코드를 탐색했습니다. 정확한 문제는 지금 : 어떻게 파일을 저장할 수 있습니까? 파일 URL은 (적어도 나와 VBA 스킬의 경우에는) 알 수 없습니다. "SendKeys-Way"(Save-As-Dialue가 보안과 관련되어 있기 때문에 작동하는지 여부는 확실하지 않음)는 코드가 자동화되어 실행되고 다운로드가 수행되지 않으므로 사용하고 싶지 않습니다. 며칠 동안 통제되어야한다.
이 작업을 수행하는 데있어 두 가지 아이디어가 있습니다. 1.) InternetExplorer.Application에서 "자동 저장"을 활성화하는 방법을 찾습니다 (아직 찾을 수 없음). 2.) 어떻게 든 클릭 한 후에 Internet Explorer로 보낼 파일 URL을 가져 오는 방법을 찾습니다.
입니다 지금까지 가지고 코드 : 내 두 개의 아이디어 중 하나가 어떻게 어쩌면 일을하고 수 있다면
Dim sStart As String, sEnd As String
sStart = "01.08.2014"
sEnd = "31.08.2014"
Dim IEApp As Object
Dim IEdoc As Object
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = False
IEApp.Navigate "https://www.regelleistung.net/ip/action/abrufwert"
Do: Loop Until IEApp.Busy = False
Set IEdoc = IEApp.Document
Do: Loop Until IEdoc.ReadyState = "complete"
Dim myURL As String
Dim Datum As String
Dim text As String
Dim zeile As String
Dim i As Integer, iFiles As Integer
Dim z As Long, lztZeile As Long
iFiles = 0
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
With IEdoc
.getElementByID("label.von").Value = sStart
.getElementByID("label.bis").Value = sEnd
.getElementByID("uenbId").Value = "jlhPZzcrHoI="
For i = 0 To .getElementsByTagName("input").Length - 1
If .getElementsByTagName("input").Item(i).getAttribute("value") = "anzeigen" Then
.getElementsByTagName("input").Item(i).Click
Exit For
End If
Next
End With
그래서 ... 사람이 나를 알 수 있습니까? 아니면 제가 생각하지 못한 세 번째 방법이 있습니까? 정확한 파일 URL을 모르면 복잡해 보입니다./
미리 감사드립니다.
당신이 URL이 당신과 VBA에 알 수없는 뜻 시도 웹 사이트에있는 링크에 액세스하려는 경우. URL이 알려지지 않은 경우 어떻게 탐색 할 수 있습니까? : S –
https://www.regelleistung.net/ip/action/abrufwert "Herunterladen"의 확인란을 선택하고 "anzeigen"을 클릭하면 파일 저장 대화 상자가 바로 나타납니다. 따라서 다운로드 할 파일의 URL을 알 수 없습니다 (또는 가져 오는 방법을 모르는 방식으로 탐색기로 보냄). – frrrt