Привет. Переделываю скрэпинг с www.rp5.ru сайта, так как ранее работало, теперь (видимо с обновлением сайта) перестало. Как это ранее работало на vba 1) Создаю CreateObject("InternetExplorer.Application") 2) Через метод navigate гружу нужную страницу (например https://rp5.ru/Weather_archive_in_Yeysk) 3) На странице программно (через VBA (через GetElementsByClassName и/или GetElementById)) перехожу на вкладку Download weather archive, настраиваю Date Range, выбираю all days, формат Excel и далее нажимаю кнопку Select to file GZ (archive) и правее кнопки получаю прямую ссылку для скачивания, далее дело техники 4) Ранее вот этот кусок кода, нажимающий кнопку
Код
For Each Obj In IE.Document.getElementsByClassName("inner")
If Obj.innertext Like "Select to file GZ*" Then
...
Obj.Click
...
End If
Next
работал и не вызывал никаких вопросов, я получал ссылку для скачивания, а теперь не работает. Получаю ошибку Error #FS000. Может кто помочь как правильно на VBA нажать кнопку Select to file GZ (archive)? P.S. Пробую сейчас реализовать нажатие через
Добрый день Есть задача подружить VBA с Cloudera Hadoop. В идеале должна получиться такая парочка как MS Office (Excel/Access) в качестве фронт енда и Cloudera Hadoop в качестве бак енда и все это должно работать спомощью VBA. Поделитесь пожалуйста опытом/мыслями/ссылками, кто уже делал что-то подобное. Заранее спасибо
Добрый день. Задача в двух штрихах состоит в сборе данных из сети и складиваниии в БД с реализацией на VBA. Ранее все работало, но как изменилась версия сайта, работать перестало. Итак сам сайт https://data.tuik.gov.tr/Kategori/GetKategori?p=Agriculture-111 далее согласно рисунка я перехожу на нужную страницу (зеленые прямоугольники) и скачиваю файл, дальше дело техники.
Для получения прямой сылки я использую следующую конструкцию (имитирующую пользовательскую активность/нажатия)
и я добирался до нужной мне прямой ссылки для скачивания. Видимо текущая версия сайта не работоспособна на Internet Explorer, так как при "переходе" в конкретный пресс релиз Internet Explorer не отрабатывает и уходит в "бесконечные часы". Есть у кого какие либо идеи (с помощью Chrome, JS, ...) как иначе можно получить эту прямую ссылку (Table-1)? Заранее спс.
Большое спасибо, метод рабочий... правда при обработке фалов ~150 МБ система конечно подвисает, подумаю, как сделать так, чтобы подвисшая система не вводила в ступор пользователей.
P.S. При больших файлах (>100Mb) я не дожидался результата
На разных машиных в зависимости от настроек согласно картинке загрузка происходит по разному. Согласно скрина загружает не верно, если в настройках стоит например Germany или France, то загрузка выполняется верно. Подскажите как можно на VBA именно в этой задаче конвертировать текст в процессе обработки исходя из Current language for non-Unicode programs: = Germany?
В догонку к предыдущему: Если содержимое TSQL инсерта просмотреть и в Immediate окне и далее скопировать и вставить в MS SQL Management Studio, то получится
Код
DECLARE @PK INT=(SELECT TOP 1 ID FROM DWDItemList WHERE ItemCode='Sttns');INSERT INTO DWDItemList (ItemType,Parent_ID,ItemCode,ItemName,ItemNum,ItemNote,ItemRaw)
VALUES
(1,@PK,'00003',N'Aachen',00003,'50.7827:6.0941:202|27.02.2011',N'56:Vennvorland|5610:Aachener Hügelland|Nordrhein-Westfalen'),
(1,@PK,'00164',N'Angermünde',00164,'53.0316:13.9908:54|',N'74:Rückland der Mecklenburgischen Seenplatte|7440:Uckermärkisches Hügelland (mit Uecker- und Randowtal)|Brandenburg')
и в результате данные вставятся корректно, но если этот инсерт выполнить на ADODB.Connection.Execute в VBA, то специфичные немецкие символы в БД вставятся неверно.
Open WFile For Input As #1
While Not EOF(1)
Line Input #1, tmpline
....
2) Далее разбирается строковая переменная и формируется множественный TSQL инсерт, который далее выполняется методом Execute объекта ADODB.Connection 3) Данные ложатся в БД, но не так как надо, а именно специфичные немецкие символы типа "ü" заменяются на "ь" например "Aachener Hügelland" в БД выглядит вот так "Aachener Hьgelland". Я понимаю, что проблема на стороне VBA между чтением файла и записью в БД, но как поправить что-то не соображу, заранее спасибо за помощь?
P.S. В договку, чтобы избежать лишних вопросов: - поля в БД типа NVARCHAR - в TSQL инсерте стоит N' где нужно для вставки данных в NVARCHAR поля
Добрый лень... Есть Excel файл (xlsb), который располагается на Share Point, с ним регулярно (ежедневно) работают несколько (3-5) пользователей, кто из офисной сети (хорошая сеть), кто удаленно из дома (я подозреваю, что на не очень хорошем интернете. Данный файл содержит макросы и CustomUI секцию в виде Ribbon'ов, через которые запускаются эти макросы. Так вот иногда (раз-два раза в неделю) CustomUI (Ribbon'ы) слетают (исчезают) из файла причем customUI14.xml из Excel файла исчезает напрочь, а все остальное данные и макросы остаются на месте. Пользоватеть работает нормально закрывает с сохранением файл и при следующем открытии у него нет кастомного Ribbon'а. Лечится только восстановление резервной копии. До короновируса, пока все сидели в офисе подобных проблем не было вообще. Соответственно, я интуитивно грешу на качество интернета у тех, кто работает из дома. Кто-нибудь уже сталкивался с подобным, каковы могут быть причины и, соответственно, какие могут быть решения? Заранее спасибо, Арт
В своей работе для чтения данных из pdf я пользуюсь утилитой xpdf. Но если в вашем pdf изображение (скан), то вам надо смотреть в сторону ocr систем и пытаться сдружить их (ocr) с помощью vba. Практического опыта связки ocr + vba у меня нет, поэтому не подскажу больше...
Добрый вечер.... Долгое время работал на одной машине WIN7+MS Office 365 x86, пришлось сменить на WIN10+MS Office 365 x64.
Раньше все было нормально теперь не могу понять, где нужно подкрутить настройки. Итак фрагмент кода, который пыполняется со стороны MS Access и который отрабатывает не верно
По вкладке Network и истории все понятно, нашел, спасибо. Андрей Лящук, подскажите принцип работы вашей ссылки/запроса, откуда вы эту ссылку взяли или сами написали? P.S. Интересуюсь на будущее так как 100% еще прийдется решать в будущем задачи подобные этой и поэтому мне хотелось бы понять принцип в общем.
Дело в том, что я еще до того как написать в форум посмотрел через F12, но так и не разобрался. Можете или скриншотом или как-то иначе показать/объяснить как и с помощью чего вы получили ссылку?
Добрый день. Нужна ваша помощь по следующему вопросу. 1) Есть интернет ресурс https://cereobs.franceagrimer.fr/cereobs-sp/#/publications 2) Ддалее в этом ресурсе двигаемся по следующему пути Stades de développement и далее Blé tendre -> Épiaison -> XLS 3) Вот собственно информация из этого Excel файла и необходимо собирать с определенной регулярностью
Я вижу здесь следующие этапы решения задачи 1) Вычислить/найти прямой URL 2) Скачать этот файил 3) Распарсить уже локально и и разложить по полочкам в БД
Я пока застрял на этапе 1. Я понимаю, что этот этап не совсем относится в Excel, но если у кого есть подобный опыт я буду раз если поделитесь, как можно выловить прямую ссылку? Я пробовал использовать Fiddler2, но у меня не особо ничего не получилось, возможно я не умею им пользозваться.
Всем ответившим спасибо. 1) Почему именно в VBA - потому что далее работать с полученными координатами прийдется в MS Office (в Excel в частности), хотя я понимаю, что в основном дело в драйвере GPS и всем, что с этим близко связано 2) Почитаю мануал по ссылкам 3) В качестве костыля - можно попробовать пользователя напрячь делать фотки и потом пробовать из них читать координаты 4) Поищу так же готовые примеры на JS, может быть получится интегрировать JS код в VBA через обертывание в wsc и объект GetObject
Добрый день. Подскажите как программно (с помощью VBA) узнать, какой разлелитель в синтаксисе написания функций рабочего листа использует Excel? У меня возникает ошибка в этой строке кода (условное форматирование с формулой)
Т.е. на том экземпляре Excel, где в качестве разделителя параметров функций рабочего листа используется точка с запятой - код отрабатывает без ошибок, там же, где запятая - ошибка. Заранее Спасибо, Арт
в 4 строке 9 столбца указан владимир ID -11, PARENT_ID - 8 тоже для владимира дак откуда по 9 столбцу у него возьмется 33 ели это значение относится к новгороду
это страница ввода данных в БД (назовем условно лист матрицы потоков) своего рода фронт енд юзер хочет выравнивать балансы регионов потоками на 0 перед записью матрицы в БД
вообще ни че не понятно по русски объясните что хотите
Необходимо найти сумму по каждому столбцу 1) по диапазону каждого столбца от первой ячейки ниже диагонали и далее (чтобы строка была > столбца) 2) только по регионам, без сумм по федеральным округам (чтобы не было задвоений)
Т.е. Например для 9ого стобца эта сумма будет равняться 33
Добрый день Нужна ваша помощь в написании формулы, чего-то не соображает голова сегодня, а вопрос для меня горящий... Формула, которая мне нужна находится в строке 3, она частично написана, но мне необходимы немного более сложные вычисления.
Я сделал: Balance +/- Сумму по региону (столбцу) НИЖЕ ДИАГОНАЛИ, но эту "Сумму по региону (столбцу)" необходимо очистить от задвоений, которые получаются в ячейках с Федеральными округами???
ID и PARENT_ID это иерархия, которая может быть использована для "Очистки"