Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 23 След.
Сменить IE на Edge или Хром
 
Цитата
Puhlyi написал:
Хром.
Смотрите в сторону selenium библиотеки. Но оно того не стоит, если нет поддержки.
Цитата
Puhlyi написал:
Перешёл на Windows 10. Макрос стал выдавать ошибку.
какую? IE изначально поставляется вместе в win10, у вас он либо отключен, либо еще что-то.
Копировать данные с сайта с помощью VBA
 
kleo90, все у вас правильно, только надо немного так:
Код
Cells(1, 1) = IE.Document.getElementsByClassName("res-text")(0).innerText
Парсинг страницы, Не могу прописать в коде, что бы на странице отображались все товары
 
lextoys, в браузере вызываете developer tool (F12) и смотрите, какие запросы формируют клики и прочие действия
Парсинг страницы, Не могу прописать в коде, что бы на странице отображались все товары
 
lextoys, здравствуйте
Как вариант, воспользоваться ссылкой, которая формируется при показе всего списка:
Скрытый текст
загрузить страницы из интернета по соответствию в таблице, макрос
 
Цитата
artyrH написал:
делаю все методом проб и тыка
и это правильный подход, только таким способом( + поиск) быстрее всего можно понять работу чего-либо.
что касается вашей темы - вы не ответили на мой вопрос в посте #3, поэтому нет ответа.

Вот код, но в нем смысла мало, яндекс вас и так будет блокировать после определенного кол-ва запросов.
Код
    Dim a_pages As Variant, p As Variant, q As Variant
    Dim url As String
    a_pages = Sheets("Начало").[m7:m11]
    url = Sheets("Начало").Cells(5, 13)
    For Each p In a_pages
        Sheets("" & p & "").Activate
        Sheets("" & p & "").Cells.Clear
        For Each q In Sheets("" & p & "").QueryTables
            q.Delete
        Next
        With ActiveSheet.QueryTables.Add(Connection:= _
            "URL;" & url & p, Destination:=[a1])
            .WebSelectionType = xlEntirePage
            .WebFormatting = xlWebFormattingNone
            .Refresh BackgroundQuery:=False
        End With
    Next
загрузить страницы из интернета по соответствию в таблице, макрос
 
artyrH, а конечный результат какой должен быть?
Предполагаю, что вам нужны ссылки на результат поиска?
Здесь можно сделать без танцев с бубном с QueryTables и с добавлением листов под каждую страницу.
Как скачать файл из сети
 
PooHkrd, нет, мы просто формируем нужную нам ссылку и указываем метод GET.
Если посмотреть обращения на сайте при клике на кнопку через developer tool в браузере (F12), то увидим переход по ссылке "https://circabc.europa.eu/rest/download/" + какая-то "соль", которая присутствует в основной ссылке на страницу. Т.е. логично при подобных ссылках брать значение и подставлять в url на скачивание и там будет заветный файлик.

В конце мы получаем response от сайта и смотрим имя в getResponseHeader("Content-Disposition").
Большинство сайтов реагирует по разному, могут требовать определенные заголовки, могут выдавать прямые ссылки на файлы, поэтому - F12 для начала.
А про PQ не скажу, ибо не работаю с ним.
Как скачать файл из сети
 
e_artem,
Код
    Dim m_url As String, d_url As String, file_name As String, temp_path As String
    Dim body() As Byte
    m_url = "https://circabc.europa.eu/ui/group/b21bad6d-4ffc-4aff-8ae6-fe5f35a7480a/library/0874d9bc-2772-4c8c-8b79-665279a04d01/details"
    d_url = "https://circabc.europa.eu/rest/download/" & Split(Split(m_url, "library/")(1), "/")(0)
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", d_url, 0
        .Send
        body = .responseBody
        file_name = Split(.getResponseHeader("Content-Disposition"), "filename=")(1)
    End With
    temp_path = Environ("Temp") & "\" & file_name
    With CreateObject("ADODB.Stream")
        .Mode = 3
        .Type = 1
        .Open
        .Write body
        .SaveToFile temp_path, 2
    End With
    CreateObject("Shell.Application").Open (temp_path)
ключевые слова, подобрать ключевые слова по теме
 
lexkaz, каков бюджет сего заказа?
И приведите пример на десяток строк, дело пойдет быстрее.
У меня есть вариант на одном api(не яндекс, не гугл) без всяких авторизаций. Возможно подойдет.
Если Александрне возьмется, то пишите в личку.
Парсер html страницы
 
tehnosmart, приветствую!
По этой ссылке попробуйте
Загрузка текста с сайта в excel
 
Проверяйте, подстраивайтесь.
Код
Sub St()
    Dim URL$, txt As String, clid As String, lang As String, vspid As String, data As String, id As String
    clid = "594"
    lng = "en"
    vspid = "1"
    data = "#2_1,3_800,22_7,5_1493800,9_match,8_1181210054,178_53405,7_53403"
    URL = "https://vfl3.betradar.com/s4/?clientid=" & clid & "&language=" & lng & "&vsportid=" & vspid & data
    txt = DownloadText(URL)
    id = Split(Split(txt, "id"":""")(1), """,")(0)
    URL = "https://vfl3.betradar.com/s4/gismo.php?&id=" & id & "&language=" & lng & "&clientid=" & clid & "&vsportid=" & vspid & "&state=" & data
    txt = DownloadText(URL)
    Cells(1, 1) = txt
End Sub
Private Function DownloadText(ByVal URL As String) As String
    With CreateObject("Microsoft.XMLHTTP")
        .Open "GET", Replace(URL$, "\", "/"), "False"
        .setRequestHeader "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC"
        .setRequestHeader "Content-Type", "text/html; charset=utf-8"
        .send
        If .statustext = "OK" Then DownloadText = .responseText
    End With
End Function

Цитата
koka0000 написал:
А нельзя получить ссылку на весь сезон а не конкретную игру?
Понятия не имею, вам функционал сайта виднее.
Изменено: Jungl - 7 Янв 2019 17:04:10 (post to get)
Загрузка текста с сайта в excel
 
koka0000, покажите ваши наработки.
Я пока вижу 2 действия, получение ID по основной ссылке, подстановка ID в ссылку, которая формирует xml ответ.
Скачать файлы с сохранением структуры папок имея URLы
 
Berm, приводите пример ссылок и того, как вам надо сохранять.
Что касается сохранений изображений - на форуме обсуждалось не раз, пользуйтесь поиском.
Обновление данных, получаемых из Интернета, с интервалом меньше минуты
 
Цитата
amibus написал:
привело к необходимости постоянно жать на кнопку старт
судя по всему цикл есть, значит все работает. убираете msgbox и все.
Обновление данных, получаемых из Интернета, с интервалом меньше минуты
 
amibus, уверены?

Попробуйте добавить после
Код
Sub Upd()
Код
MsgBox("Start!")
Обновление данных, получаемых из Интернета, с интервалом меньше минуты
 
amibus, запустить этот код:
Код
Sub Upd()
    ActiveWorkbook.RefreshAll
    Application.OnTime Now + TimeValue("00:00:07"), "Upd"
End Sub
Как сохранить файл по ссылке с помощью VBA
 
Sanchos_bop, используйте данный заголовок для сброса кэша(после Open)
Код
XMLHTTP.SetRequestHeader "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC"
Сохранение файла без Save / SaveAs
 
Цитата
Сергей М написал:
Или подскажите в чем может быть проблемы если кто-то сталкивался с подобным.
Сталкивался, на win10, на рабочем столе. Вот конкретно на рабочем столе почему-то все объекты становились в атрибут read-only и при сохранении вызывало SaveAs.
Со временем само отпускало. Перезагрузка не помогала.
Причину самостоятельно найти не удалось, грешу на системную защиту или файловый сервер синхронизации.
p.s. все это происходило в доменной сети компании.
Подбор атрибутов для POST-запроса через VBA, Как сформировать POST-запроса через VBA, если судя по Инспектору он содержит много атрибутов
 
JohnClayton, слать вам нужно на этот адрес:
https://registers.esma.europa.eu/publication/searchRegister/doMainSearch

Вот функция, дело за малым:
Код
Function postj(ByVal URL$, ByVal json As String) As String
    With CreateObject("Microsoft.XMLHTTP")
        .Open "POST", Replace(URL$, "\", "/"), "False"
        .setRequestHeader "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC"
        .setRequestHeader "Content-Type", "application/json; charset=utf-8"
        .setRequestHeader "Accept-Language", "ru-RU"
        .send (json)
        If .statustext = "OK" Then postj = .responseText
    End With
End Function
Нужно выгрузить данные в эксель с сайта bik-info.ru по API по определенному запросу
 
DopplerEffect, добрый.
Какой ключ?
Просто переходите по ссылке, подставляя БИК компании - сбер например и получаете ответ. В моем случае json, вы можете выбрать xml.
Дальше парсите полученные данные и на лист/переменную.
Открыть html-файл с помощью Power Query.
 
Александр*, вышлите файл, может удастся найти.
Красивое отображение фильтров, Сделать красивое отображение фильтров и выводимой информации
 
Цитата
A C написал:
Покупатель в зале на компьютере видит значок "Найти мастера", нажимает его, появляются значки фильтров, выбирает необходимые параметры, на экран выводятся отфильтрованные страницы Word с информацией о мастерах.
Здравствуйте!

Пользователям лучше не предоставлять такие привилегии, как копания напрямую в документах.
Тем более давать доступ в систему.
Мое видение - отдельная софтина, которая разворачивается на весь экран и закрыть/свернуть ее можно по спец комбинации клавиш или паролю.
Эта софтина будет при поиске обращаться к текстовым файлам типа xml/access базе данных, можно excel. Рекомендуется БД.
Если готовым к такому, то данные есть в профиле + не забудьте сообщить, на какой бюджет вы готовы раскошелиться.

Можно excel+word, но я пас, возни куда больше и неизвестные потом последствия.
Выбор кодов из одного столбца таблицы, которым соответствуют более одного имени из второго столбца, сводной таблицей или SQL-запросом
 
Цитата
Андрей VG написал:
Что-то, коллега, вы мухлюете
Ни в коем случае, просто неверно понял задачу :)
Выбор кодов из одного столбца таблицы, которым соответствуют более одного имени из второго столбца, сводной таблицей или SQL-запросом
 
Цитата
Екатерина Штольц написал:
или SQL-запроса
Здравствуйте!
Как фактически выглядят столбцы в оригинале? Имена в первой строке, данные со второй и далее?
Если да, то такой вариант:
Извлечь данные из ячейки с html-кодом
 
На пробу
Код
    With CreateObject("Scripting.FileSystemObject").OpenTextFile("D:\test.html", 1, True)
        txt = .ReadAll: .Close
    End With
    txt = Replace(Replace(txt, Chr(10), ""), Chr(13), "")
    txt = Split(Split(txt, "Features:</strong>")(1), "/p>")(0)
    With CreateObject("VBScript.RegExp")
        .Global = True: .IgnoreCase = True: .Pattern = ">(.+?)<"
        If .test(txt) Then
            Set Matches = .Execute(txt)
            If Matches.Count > 0 Then
                For m = 0 To Matches.Count - 1
                    Cells(m + 1, 1) = Matches(m).SubMatches(0)
                Next
            End If
        End If
    End With
Из картинок, превратить в ссылки, для импорта на сайт
 
zombi12345, так в чем проблема? Вместо картинок ставите ссылки и кормите вашему сайту.
Поскольку в книге никаких ссылок не увидел, то помочь вам особо нечем.
Вычленить 11-значные номера телефонов
 
Вариант регулярками без удаления дублей. Результат во второй столбец.
Код
    Dim arr() As Variant
    Dim txt As String
    arr = Application.Transpose(Range("a1:a293"))
    txt = Join(arr)
    Erase arr
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "(\d){11}"
        If .test(txt) Then
            Set Matches = .Execute(txt)
            If Matches.Count > 1 Then
                ReDim arr(Matches.Count - 1)
                For i = 0 To Matches.Count - 1
                    arr(i) = Matches(i)
                Next
                ActiveSheet.Range("B1").Resize(Matches.Count, 1) = Application.Transpose(arr)
            End If
        End If
    End With
Парсер объявлений о продаже недвижимости
 
Так вы решили вопрос или нет? :)
Если нет, то
Цитата
Dmiter написал:
Нужно организовать выборку по параметрам этих объявлений и их фильрацию. с выводом результатов в excel. Причем такие файлы должны быть у каждого пользователя (риэлтора) со своим с доступом, который в любой момент можно исключить.
Могу предложить свой вариант, не на excel. Почта в личке, welcome.
Как отсортировать два листа, как один? Сортировка 2 млн. строк.
 
А для одномерного массива подойдет ли данная функция объекта System.Collections.ArrayList?
Код
    Dim i As Long
    Dim t As Double
    'Dim sorted As Variant
    Randomize
    With CreateObject("System.Collections.ArrayList")
        For i = 0 To 1999999
          .Add Format$(Int(Rnd * 2000000), "0000000")
        Next
        t = Timer
        .Sort
        'sorted = .ToArray
        Debug.Print Timer - t
    End With
Скриншот карты по заданным координатам с сохранением по указанному пути
 
gena10111, здравствуйте!
Направил вам предложение в личку.

Заказчика не устроило мое решение. Не претендую
Изменено: Jungl - 1 Ноя 2018 21:04:33
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 23 След.
Наверх