VBA Сохранить файл из веб-адреса без имени файла - PullRequest
0 голосов
/ 10 февраля 2019

Я пробовал довольно много вариантов, но я считаю, что это самое близкое к тому, что я получил, и я просто не знаю, как действовать.

Вот основная концепция.У меня есть URL, который будет запускать создание и загрузку файла в формате XLS.Мой код проходит весь путь до открытия этого файла с использованием sendkeys (% a принимает предупреждение безопасности) (хотел бы пропустить, если есть способ, на данный момент мне нужно в основном убедиться, что открытый файл из загрузки являетсяАктивное окно перед продолжением. Имейте в виду, что загруженное имя файла может незначительно отличаться.

По-прежнему есть какой-то мусор из других вещей, которые я пытался.

Вопрос: Как сделать цикл до илиесли и т. д., чтобы убедиться, что активным окном является либо MyBrowser (IE), либо книга Excel, которую я только что открыл с помощью клавиш отправки?

Sub SearchRepQ()

    Dim USER1 As String
        'USER1 = Application.WorksheetFunction.Index(Sheets("SRC").Range("D:D"), Application.WorksheetFunction.Match(UserForm1("TextBox1"), Sheets("SRC").Range("C:C"), 0))
    Dim prefix1 As String
    Dim prefix2 As String
        prefix1 = "https://MyReports.com/default.aspx?&sk=Mgmt+Console&s=~_d0!2!1!!1!7!0!1!!2!!!0!1!3!2!_d2!"
        prefix2 = "!Central+Standard+Time!_d6!fvf%7c%40ticketowner!DrurxrErsrzqFqypvspwpxpCpvtpwpwpqBqypvspwpxpApvtpwpwpqqrzqqqrur!fvf%7c%40ticketstatusopenclosed!_d0!4!Mgmt+Console!Open!_d1!_d8!!yqHqtFpGpxpvppupxpupvpupwppwpppupvpKpJpIpEpzpBpApCppDpqyprpqsq!&xls=h$Mgmt_32_Console$ctl00$mup$t$ctl00$ctl00$exl"
    Dim MyURL1 As String
    Dim MyURL2 As String
        MyURL1 = ("https://MyReports.com")
        MyURL2 = (prefix1 & USER1 & prefix2)

    Dim MyBrowser As SHDocVw.InternetExplorer
    Set MyBrowser = New InternetExplorer
    Dim XL As Excel.Application
    'Dim IEe As New IEEvents
    Set XL = Excel.Application
    'Set IEe.IEApp = MyBrowser
    MyBrowser.Silent = True
    MyBrowser.Visible = True
    MyBrowser.navigate MyURL1
    Do Until MyBrowser.READYSTATE = READYSTATE_COMPLETE: DoEvents: Loop
    MyBrowser.navigate MyURL2
    Do Until MyBrowser.READYSTATE = READYSTATE_COMPLETE: DoEvents: Loop
    VBA.AppActivate MyBrowser.document.Title & " - " & MyBrowser.Name, 0
    Application.Wait (Now + TimeValue("0:00:3"))
         SendKeys "%(o)"
    Application.Wait (Now + TimeValue("0:00:1"))
         SendKeys "%(a)"

    'Dim counter As Integer
    '    Set counter = 0
    'Dim number As Integer = 8
    'Do Until number = 10
    '    If number <= 0 Then Exit Do
    '    number -= 1
    '    counter += 1
    'Loop
    VBA.AppActivate XL.ActiveWindow.Activate.Title("coveo*", 0)
end sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...