VBA IE Automation – загрузить файл

Я использую VBA для автоматизации IE для загрузки файла на сайт. Я дошел до того, что нашел кнопку с типом «файл», но затем, похоже, нарисовал пробел при настройке пути.

Мой текущий VBA выглядит так:

Dim btnInput As Object ' MSHTML.HTMLInputElement Dim ElementCol As Object ' MSHTML.IHTMLElementCollection . . . Set ElementCol = appIE.Document.getElementsByTagName("input") For Each btnInput In ElementCol If btnInput.Type = "file" Then btnInput.Value = "C:\temp\text.csv" Exit For End If Next btnInput 

и HTML, который он читает, это:

 <div id="upload-assignments-modal" class="modal hide fade in" tabindex="-1" role="dialog" aria-hidden="false" style="display: block;"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="myModalLabel">Upload order changes</h3> </div> <form id="upload-form" enctype="multipart/form-data" action="" method="post" accept-charset="utf-8"> <div class="modal-body"> <div style="display:none"><input type="hidden" name="csrfmiddlewaretoken" value="abcde"></div> <input type="hidden" name="partner" value="488" id="id_partner"> <p><label for="id_feed_file">Feed file</label><input type="file" name="feed_file" id="id_feed_file"></p> <input type="hidden" name="feed_type" value="390" id="id_feed_type"> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal">Cancel</button> <button name="action" value="upload" type="submit" class="btn btn-primary">Upload</button> </div> </form> </div> 

Он находит тип при переходе и делает, чтобы установить значение, но затем на экране нет изменений (у меня есть экземпляр IE, показанный как видимый для тестирования), и файл не добавляется. Правильно ли было бы предположить, что для типа ввода «файл» требуется что-то иное, кроме .Value для его ввода?

Попробуйте

 Set ElementCol = appIE.Document.getElementsByTagName("input") For Each btnInput In ElementCol If btnInput.Type = "file" Then btnInput.Value = "C:\temp\text.csv" btnInput.FireEvent ("onclick") Exit For End If Next btnInput 
  • Excel VBA - как нажать на кнопку, когда у вас одинаковый класс и уникальный идентификатор
  • vbs для копирования текста из IE в Excel
  • Excel VBA не может нажать кнопку на веб-странице
  • Заголовок страницы HTML в Excel VBA
  • Использование VBA для проверки радиообъекта в IE, странное поведение
  • Использование InternetExplorer.Application в VBA
  • Ошибка при нажатии кнопки IE Переменная объекта или с переменной блока не установлена
  • Какой .dll содержит класс HTMLElement?
  • Копирование из текстовой области (окна) в Internet Explorer, но в более чем одну ячейку
  • Войдите на защищенный https-сайт с помощью VBA
  • Excel VBA: полное руководство по HTML DOM
  • Interesting Posts

    Выньте повторяющиеся строки на основе двух столбцов критериев

    Как переносить сообщения электронной почты из Outlook в определенные папки по темам с помощью кода VBA?

    Взаимодействие с кнопками / макросами внутри excel автоматически

    Excel – VLOOKUP с двумя или более ячейками

    Произвольное значение в Excel в формуле

    Как оценить строку формата Excel

    SAS DDE записать hpyerlink в одну ячейку не удалось

    Excel VBA – очистить содержимое столбца от строки 2 вниз

    вызов субпользователя с помощью флажков excel vba

    Использование кода VBA для всех файлов в папке

    Сравните значения таблиц Excel с каждой строкой текстового файла и возвращаемым результатом на основе результата

    Excel: формула или функция для суммирования значений столбцов, начиная с определенной строки

    Сортировка неорганизованных данных в Excel

    Как я могу получить в VBA несколько значений поля списка на листе Excel?

    Как создать параметризованную надстройку для книги Excel

    Давайте будем гением компьютера.