Помогаем и разъясняем взаимодействие с ПО Ворд и Эксель на WordExceler.ru
Макросы для excel яндекс
Программа предназначена для вывода описания и изображений найденных в yandex.ru по заданному артиклю
На первом этапе работы макроса, производится поиск артикула, либо другого ключевого слова, в поисковой системе yandex.ru
(процесс поиска скрыт от пользователя, скриншот результатов поиска)
Полученные результаты поиска выводятся в виде списка на форме.
Пользователь из этого списка выбирает наиболее подходящий для себя вариант описания товара, после чего выбранный вариант вставляется в таблицу:
На втором этапе работы макроса, производится поиск картинок по введенному артикулу (либо другому ключевому слову) в images.yandex.ru
(процесс поиска картинок скрыт от пользователя, скриншот результатов поиска)
Результат загружается на форму. После того как пользователь кликнет по понравившемуся изображению, оно вставляется в таблицу:
(щелкните на картинке для увеличения)
На листе настроек задаются размеры вставляемой картинки за счет регулирования высоты и ширины ячеек,
а также количество отображаемых на форме изображений:
В этой статье я рассказываю (и показываю на видео), как с помощью макроса Excel нормализовать базу телефонных номеров и загрузить сегмент в Яндекс.Аудитории за 84 секунды.
Скачать макрос для загрузки e-mail адресов в Яндекс.Аудитории
Давайте представим ситуацию. У вашего заказчика есть база клиентов. От вас он узнал, что в Яндекс.Директ есть инструмент, который позволяет показывать данной аудитории рекламу с уникальным предложением. Вы приняли решение ее запустить.
Заказчик предоставил вам файл, в котором все номера имели разный формат: где-то с +7, где-то с пробелами, два телефона в строке, дополнительные символы в виде ?, ; и т.д., а к некоторым даже были текстовые подписи (имена, комментарий).
Пример неотформатированной базы клиента
База насчитывает 10 000+ телефонных номеров. И для того, чтобы запустить ретаргетинг по файлу, нужно сначала создать сегмент, а перед этим очистить список от лишних символов, поскольку Яндекс имеет четкие требования по загружаемым файлам в Яндекс.Аудитории.
Что же делать в таком случае? Использовать Excel? Находить, заменять, удалять? Как вариант. Но есть более простое решение, которое позволяет нормализовать базу телефонных номеров для последующей загрузки в 2 клика. И это макрос Excel.
Макрос Excel
Принцип работы макроса очень простой – вы загружаете в него список телефонов из блокнота (формат .txt), а далее он все сделает за вас.
Что он умеет?
удаляет дубли;
удаляет все лишние символы, включая текст и специальные символы (%, $, -, !, ?, #, >, <, /, _ и т.д.);
если в одной строчке написано несколько телефонных номеров, то он автоматически отделяет их и переносит в один столбец;
нормализует запросы согласно стандарту 7XXXXXXXXXX ;
ячейки номеров, которые отличаются от стандарта, помечаются красным цветом (в дальнейшем очень легко отфильтровать, изменить или удалить такие телефоны);
для городских телефонов в дополнительном поле можно указать код и задать диапазон (например, меньше 8 цифр, но больше 5);
удаляет данные загруженного файла (кнопка Очистить лист).
Красным подсвечиваются номера, которые отличаются от стандарта по длине
Данный способ применим не только для загрузки Яндекс.Аудиторий. Собственные списки можно загружать в Google Ads (не всем, читайте этот материал) и в инструменты таргетированной рекламы (Facebook, myTarget, ВКонтакте).
Макрос не нужно настраивать. Все, что необходимо сделать:
разрешить редактирование;
перед началом работы включить содержимое макроса.
Давайте на примере загрузим базу номеров телефонов, состоящую из 5000+ контактов, в Яндекс.Аудитории. Как думаете, сделаю я это быстрее 90 секунд?
Магия? Теперь это доступно и вам! Просто скачайте макрос и сэкономьте себе время!
Новая версия макроса для Excel (VBA) для быстрого и удобного получения гео-координат/адресов из Yandex и Google. В качестве исходных данных на листе указывается список адресов (для получения координат) или список координат (для обратного геокодирования). Результаты запроса будут выведены в соседние ячейки.
Подробное описание
Некоторое время назад на сайте был опубликован макрос для получения координат из Yandex. Несмотря на небольшой размер своего кода, макрос в удобном режиме позволяет по заданному списку адресов получать их geo-координаты (широту и долготу).
В текущей статье публикуем новый (доработанный) макрос для работы с координатами и адресами.
Изменения в новом макросе:
Макрос может работать с API Яндекса и Гугла. Для работы с сервисом Яндекса используйте лист «yandex», для работы с Гуглом — лист «google». Предыдущая версия работала только с Яндекс.
Из кода макроса исключен параметр KEY. Это значит, что теперь не нужно получать ключ разработчика для корректной работы макроса. Теперь всё работает без KEY. Разумеется, общие ограничения сервисов по прежнему имеют место — это около 25 000 запросов в сутки с одного IP. При необходимости узнать более подробно о действующих ограничениях, следуйте по ссылкам: лимиты для яндекса, лимиты для гугл.
Добавлена возможность обратного геокодирования (определение адреса по долготе и широте). Для работы с обратным геокодированием необходимо соблюдать несколько важных нюансов, касающихся формата записи строки с координатами: — для Yandex координаты необходимо указывать в формате (через запятую, без пробелов): долгота,широта — для Google координаты необходимо указывать в формате (через запятую, без пробелов): широта,долгота В приложенном файле с макросом на соответствующих листах есть примеры как для Yandex, так и для Google.
Добавлена статистика по количеству обработанных строк. Статистика начинает отображаться после запуска макроса. Наблюдать статистику можно в строке статус бара Excel.
Типы переменных для работы с XML переименованы в Object. В предыдущей версии макроса типы были строго заданы как MSXML2.DOMDocument и MSXML2.IXMLDOMNodeList. Как следствие, возникали ошибки в процессе работы, если на ПК пользователя не было соответствующих библиотек «Microsoft XML».
Помимо указанных изменений, новый макрос содержит ряд других улучшений кода, в той или иной степени влияющих на корректность результата. По опыту, при тестировании макроса сервис Yandex показал более точный результат определения координат. Google, в свою очередь, показал более высокую скорость работы.
Также не забывайте, что оба сервиса хоть и служат одной и той же цели, но результат, полученный в каждом из них, немного отличается. Отличие не большое, но оно есть и, возможно, его стоит учесть. Поэтому, если этот момент вам принципиально важен, обязательно вручную проверьте результат в разных поисковых системах.
Важно!
Для работы с макросом предварительно необходимо получить API-ключ для Yandex/Google. Видео с инструкцией, как подключить нужный API Yandex, можно посмотреть по ссылке.
Соответствующее значения API-ключа указывается на листе «Настройки». В целом, для Yandex принципиально ничего не изменилось, а вот у Google с августа 2018 г. действуют новые условия получения API (необходимо регистрировать аккаунт Google Cloud Platform и привязывать к нему свою б/карту; после данных настроек суточный бесплатный лимит по-прежнему работает).
В случае неработоспособности данного макроса, перед написанием комментария и/или отправки писем на мой адрес обязательно ознакомьтесь со списком основных проблем и способами их решения.
Скачать (Сохранить) файл с Яндекс-диска макросом Excel
Pelena
Дата: Понедельник, 05.12.2016, 22:18 |
Сообщение № 1
Группа: Админы
Ранг: Местный житель
Сообщений: 18797
Репутация: 4284 ±
Замечаний:
± Excel 2016 & Mac Excel
Приветствую всех! Друзья, помогите советом, как можно (и можно ли вообще) обратиться к папке, созданной на Яндекс-диске, из макроса книги Excel? Есть ли возможность как-то прописать путь к такой папке, скачать из неё файлы, а потом после обработки сохранить в ту же папку под другим именем?
Подробнее: есть проект, в котором открывается шаблон Excel (.xlt), соответственно, создаётся новая книга, в ней заполняются данные, отрабатывают разные макросы, в том числе, создаются документы Word на основе опять-таки шаблонов (.dot) и сохраняются в отдельную папку. Проект рабочий, но у клиента возникла идея хранить шаблоны и сформированные документы на Яндекс-диске. Хотелось бы услышать ваше мнение об этой идее, насколько она вообще реализуема? Пришла к выводу, что непосредственно запускать шаблоны с Яндекса не получится. То есть надо скачивать куда-то во временную папку. Но как??!! [p.s.]Если нужны файлы, могу сочинить примеры[/p.s.]
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
Саня
Дата: Понедельник, 05.12.2016, 23:37 |
Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 1067
Репутация: 560 ±
Замечаний:
0% ± XL 2016
Ответить
doober
Дата: Понедельник, 05.12.2016, 23:48 |
Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 913
Репутация: 317 ±
Замечаний:
0% ± Excel 2010
Здравствуйте Елена.
Элементарно Ватсон. так получаем ссылку на файл для закачки.С обратной операцией дела не имел. [vba]
Код
Function GetyanURU() As String Dim RRz As String GetyanURU = «» UU = «https://yadi.sk/i/W-RyKT4o32K3PG» UU = Replace(UU, «/», «%2F») UU = Replace(UU, «:», «%3A») url = «https://cloud-api.yandex.net/v1/disk/public/resources/download?public_key=» & UU On Error Resume Next Set oXMLHTTP = CreateObject(«MSXML2.XMLHTTP») With oXMLHTTP .Open «GET», url, False .send sHTML = .responseText Set RegExp = CreateObject(«VBScript.RegExp») RegExp.Pattern = Chr(34) & «(https(.+?))» & Chr(34)
Set oMatches = RegExp.Execute(sHTML) If oMatches.Count > 0 Then GetyanURU = oMatches(0).subMatches(0) End If End With Set oXMLHTTP = Nothing End Function
[/vba]
Ответить
Pelena
Дата: Вторник, 06.12.2016, 00:03 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 18797
Репутация: 4284 ±
Замечаний:
± Excel 2016 & Mac Excel
Саня, Сергей, спасибо за ответы. Испробую оба варианта
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
krosav4ig
Дата: Вторник, 06.12.2016, 02:10 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний:
0% ± Excel 2007,2010,2013
Здравствуйте. можно подключить ЯДиск как сетевой диск windows Mac OS
Андрей, спасибо за ответ. Была мысль о сетевом диске, но не сообразила, как обратиться к Яндексу. Следуя инструкциям по ссылке, сетевой диск создала. Но почему-то не удаётся использовать путь Z: в макросе, вернее, не всегда удаётся, буду ещё экспериментировать.
Саня, твой вариант тоже попробовала, установила программу, в общем понравилось, путь прописывается в макросе, как обычно, всё запускается, создаётся, сохраняется, причём достаточно быстро. И папку можно сделать общедоступной при необходимости. Спасибо!
Сергей, с помощью Вашего макроса у меня получилось закачать файл с Яндекс-диска, спасибо! Не знаю только вот, как отправить созданные документы обратно
Сегодня пообщаюсь с клиентом, обрисую ситуацию, пусть решает, может ещё передумает) Ещё раз всем большое спасибо!
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
_Boroda_
Дата: Вторник, 06.12.2016, 09:56 |
Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16618
Репутация: 6465 ±
Замечаний:
0% ± 2003; 2007; 2010; 2013 RUS
Но почему-то не удаётся использовать путь Z:
У меня на работе иногда тоже не ловится прямая ссылка на z (у меня он не z, а f) — f:Дальше_какой-то_путь А вот так всегда работает — вставить гиперссылкой путь f:Дальше_какой-то_путь, пройти по этой ГС — откроется Проводник и в нем уже в пути (наверху который пишется) вместо f пишется нормальное название этого диска. Вот его и копируем
Спасибо, Саш. Но всё равно не получается создать документ на основе шаблона из вложенной папки templates. Хотя путь вроде видит, создаёт по нему папку, сохраняет в ней файл. Видимо, это уже дело не в пути, а в чём-то другом. Будем искать)
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
Alex_ST
Дата: Среда, 07.12.2016, 09:28 |
Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3176
Репутация: 604 ±
Замечаний:
0% ± 2003
Ребята, может быть я что-то в ТЗ не понял, но почему нельзя использовать синхронизацию ЯД с локальной директорией на своём компе? А нужную папку на ЯД расшарьте для конкретных пользователей. И работайте спокойно с файлами на своём компе. Создавайте/удаляйте файлы, папки… Всё, что Вы сделаете у себя, отзеркалится на ЯД. В чём проблема-то? Зачем брать файл с ЯД, когда можно юзать его локальную копию?
С уважением, Алексей MS Excel 2003 — the best!!!
Ответить
Pelena
Дата: Среда, 07.12.2016, 09:32 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 18797
Репутация: 4284 ±
Замечаний:
± Excel 2016 & Mac Excel
Собственно, Саня во втором посте это и предложил
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
Alex_ST
Дата: Среда, 07.12.2016, 09:48 |
Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3176
Репутация: 604 ±
Замечаний:
0% ± 2003
И, к стати, юзая одновременно на работе и дома Гугл.Диск (на Я.Д Мэйл.Диск и Дропбокс с работы не пускают собаки-сисадмины), я часто использую очень удобную штуку — Link Shell Extension Это расширение позволяет создавать в Форточках симлинки, аналогичные Линуксово-Андроидным. Для тех файлов, с которыми мне удобно работать на компе в одной директории, а реально они разбросаны по многим папкам, включая и сетевые, я просто создаю симлинки и кладу их все в одну папочку. Комп будет думать, что работает с файлами, лежащими в этой папке, а физически они могут быть разбросаны где угодно. Я через симлинки даже пытался зеркалить файлы с ГД на МД через домашний комп. Результат, к сожалению, не стабильный — некоторые файлы зеркалятся в Облако, а некоторые нет (М.Д почему-то сильно озадачивается, пытаясь скопировать к себе в Облако файл с моего компа по некоторым симлинкам, а некоторые глотает спокойно)
С уважением, Алексей MS Excel 2003 — the best!!!
Ответить
Alex_ST
Дата: Среда, 07.12.2016, 09:51 |
Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3176
Репутация: 604 ±
Замечаний:
0% ± 2003
Собственно, Саня во втором посте это и предложил
Каюсь, не внимательно читал, по Саниной ссылке не пошёл…
С уважением, Алексей MS Excel 2003 — the best!!!
Ответить
krosav4ig
Дата: Среда, 07.12.2016, 13:46 |
Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний:
0% ± Excel 2007,2010,2013
Нарисовал функции для скачивания/выгрузки на ЯДиск скачивание проходит нормально, а вот с выгрузкой чего-то не так. В корень вообще не загружает, в папки грузит мягко говоря, через раз, может чего лишнего понаписал или не те объекты использовал [vba]
Код
Private Const Login$ = «Логин», Pwd$ = «Пароль» Private Const Host$ = «https://webdav.yandex.ru:443/» Public Function DownloadFile(RemoteFilePath$, SaveTo$) Dim FileContents() As Byte, LocalFilePath$ SaveTo = IIf(Right(SaveTo, 1) = «», SaveTo, SaveTo & «») With CreateObject(«MSXML2.XMLHTTP») .Open «get», urlencode(Host & RemoteFilePath), False, Login, Pwd .setrequestheader «Host», «webdav.yandex.ru» .setrequestheader «Accept», «*/*» .setrequestheader «Authorization», «Basic » & Token .send FileContents = .responseBody End With LocalFilePath = SaveTo & StrReverse(Split(StrReverse(RemoteFilePath), «/»)(0)) If Dir(LocalFilePath) <> «» Then Kill LocalFilePath Open LocalFilePath For Binary Access Write As #1 Put #1, 1, FileContents Close #1 DownloadFile = LocalFilePath End Function Public Sub UploadFile(LocalFilePath$, RemotePath$) Dim FileContents As Variant, FileName$ FileName = StrReverse(Split(StrReverse(LocalFilePath), «»)(0)) RemotePath = IIf(RemotePath <> «», RemotePath & «/», «») With CreateObject(«ADODB.Stream») .Type = 1: .Open: .LoadFromFile LocalFilePath: FileContents = .Read: .Close End With With CreateObject(«MSXML2.XMLHTTP») .Open «put», urlencode(Host & RemotePath & FileName), False, Login, Pwd .setrequestheader «Host», «webdav.yandex.ru» .setrequestheader «Accept», «*/*» .setrequestheader «Transfer-Encoding», «chunked» .setrequestheader «Etag», MD5(FileContents) .setrequestheader «Sha256», Sha256(FileContents) .setrequestheader «Expect», «100-continue» .setrequestheader «Content-Type», «application/binary» .setrequestheader «Authorization», «Basic » & Token .setrequestheader «Content-Length», UBound(FileContents) + 1 .send FileContents End With End Sub Private Function Str2Byte(str$) As Byte() Str2Byte = StrConv(str, vbFromUnicode) End Function Private Function urlencode$(url$) With CreateObject(«scriptcontrol») .Language = «JavaScript» urlencode = .eval(«encodeURI(‘» & url & «‘)») End With End Function Private Function MD5(ByVal bytes) As String Dim sTmp$, i%, byteArr() As Byte byteArr = bytes With CreateObject(«System.Security.Cryptography.MD5CryptoServiceProvider») byteArr = .ComputeHash_2(byteArr) End With For i = 0 To UBound(byteArr) sTmp = sTmp & LCase(Right(«0» & Hex(byteArr(i)), 2)) Next MD5 = sTmp End Function Private Function Sha256(ByVal bytes) As String Dim sTmp$, i%, byteArr() As Byte byteArr = bytes With CreateObject(«System.Security.Cryptography.SHA256Managed») byteArr = .ComputeHash_2(byteArr) End With For i = 0 To UBound(byteArr) sTmp = sTmp & LCase(Right(«0» & Hex(byteArr(i)), 2)) Next Sha256 = sTmp End Function Private Function Token() With CreateObject(«MSXML2.DOMDocument»).createElement(«b64») .DataType = «bin.base64» .nodeTypedValue = Str2Byte(Login): Token = .Text & «:» .nodeTypedValue = Str2Byte(Pwd): Token = Token & .Text End With End Function
Sub test() ‘открываем файл из папки 111 в ЯДиске Workbooks.Open DownloadFile(«123/1.xlsm», «D:») ‘открываем файл из корня ЯДиска Workbooks.Open DownloadFile(«123.xlsx», Environ(«tmp»)) ‘выгружаем файл в папку 123 в ЯДиске UploadFile «D:.xlsm», «123» ‘выгружаем файл в корень в ЯДиска не грузит UploadFile «D:.xlsm», «» End Sub
Сообщение отредактировал krosav4ig — Среда, 07.12.2016, 13:47
Ответить
Pelena
Дата: Среда, 07.12.2016, 14:00 |
Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 18797
Репутация: 4284 ±
Замечаний:
± Excel 2016 & Mac Excel
Андрей, спасибо. Протестирую ближе к вечеру
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
Pelena
Дата: Среда, 07.12.2016, 22:02 |
Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 18797
Репутация: 4284 ±
Замечаний:
± Excel 2016 & Mac Excel
Как же всё сложно Моих способностей хватило только скопировать этот код и запустить. Скачать и открыть получается, а при сохранении ошибка загрузки указанного контента на строке [vba][/vba] Думаю всё-таки остановиться на варианте с синхронизацией папок
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
Alex_ST
Дата: Среда, 07.12.2016, 22:21 |
Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3176
Репутация: 604 ±
Замечаний:
0% ± 2003
Или попробовать по WEBDAV подключить как советовал krosav4ig
можно подключить ЯДиск как сетевой диск windows
Хотя далеко не факт, что получится. Я где-то с год-полтора назад в последний раз пробовал — не вышло. Потом погуглил и нашёл кучу ругани юзеров, что в бесплатных Облаках их владельцы объявляют возможность коннекта по WEBDAV , а реально это нигде не работает, т.к. тогда они потеряют на рекламе. Но попытка не пытка. Удачи!
С уважением, Алексей MS Excel 2003 — the best!!!
Ответить
krosav4ig
Дата: Четверг, 08.12.2016, 01:10 |
Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний:
0% ± Excel 2007,2010,2013
ошибка загрузки указанного контента
печалько кстати, можно прямо в VBA подключать нужную папку ЯДиска [vba]
Private Const Login$ = «Логин», Pwd$ = «Пароль» Private Const Host$ = «https://webdav.yandex.ru:443/» Public Function DownloadFile(RemoteFilePath$, SaveTo) Dim FileContents() As Byte, LocalFilePath$ SaveTo = IIf(Right(SaveTo, 1) = «», SaveTo, SaveTo & «») With CreateObject(«WinHttp.WinHttpRequest.5.1») .Open «GET», urlencode(Host & RemoteFilePath$), True .SetRequestHeader «Host», «webdav.yandex.ru» .SetRequestHeader «Accept», «*/*» .SetRequestHeader «Authorization», «Basic » & Token .send .WaitForResponse FileContents = .responseBody End With LocalFilePath = SaveTo & StrReverse(Split(StrReverse(RemoteFilePath), «/»)(0)) If Dir(LocalFilePath) <> «» Then Kill LocalFilePath Open LocalFilePath For Binary Access Write As #1 Put #1, 1, FileContents Close #1 DownloadFile = LocalFilePath End Function Public Sub UploadFile(LocalFilePath$, RemotePath$) Dim FileContents As Variant, FileName$ FileName = StrReverse(Split(StrReverse(LocalFilePath), «»)(0)) RemotePath = IIf(RemotePath <> «», RemotePath & «/», «») With CreateObject(«ADODB.Stream») .Type = 1: .Open: .LoadFromFile LocalFilePath: FileContents = .Read: .Close End With With CreateObject(«WinHttp.WinHttpRequest.5.1») .Open «PUT», urlencode(Host & RemotePath & FileName), False .SetRequestHeader «Host», «webdav.yandex.ru» .SetRequestHeader «Accept», «*/*» .SetRequestHeader «Etag», MD5(FileContents) .SetRequestHeader «Sha256», Sha256(FileContents) .SetRequestHeader «Expect», «100-continue» .SetRequestHeader «Content-Type», «application/binary» .SetRequestHeader «Authorization», «Basic » & Token .SetRequestHeader «Content-Length», UBound(FileContents) + 1 .send FileContents .WaitForResponse Debug.Print «Файл «; IIf(.StatusText = «Created», «успешно загружен», «не загружен») End With End Sub Private Function Str2Byte(str$) As Byte() Str2Byte = StrConv(str, vbFromUnicode) End Function Private Function urlencode$(url$) With CreateObject(«scriptcontrol») .Language = «JavaScript» urlencode = .eval(«encodeURI(‘» & url & «‘)») End With End Function Private Function MD5(ByVal bytes) As String Dim sTmp$, i%, byteArr() As Byte byteArr = bytes With CreateObject(«System.Security.Cryptography.MD5CryptoServiceProvider») byteArr = .ComputeHash_2(byteArr) End With For i = 0 To UBound(byteArr) sTmp = sTmp & LCase(Right(«0» & Hex(byteArr(i)), 2)) Next MD5 = sTmp End Function Private Function Sha256(ByVal bytes) As String Dim sTmp$, i%, byteArr() As Byte byteArr = bytes With CreateObject(«System.Security.Cryptography.SHA256Managed») byteArr = .ComputeHash_2(byteArr) End With For i = 0 To UBound(byteArr) sTmp = sTmp & LCase(Right(«0» & Hex(byteArr(i)), 2)) Next Sha256 = sTmp End Function Private Function Token() With CreateObject(«MSXML2.DOMDocument»).createElement(«b64») .DataType = «bin.base64» .nodeTypedValue = Str2Byte(Login & «:» & Pwd): Token = .Text End With End Function
Сообщение отредактировал krosav4ig — Пятница, 09.12.2016, 14:00
Ответить
Pelena
Дата: Пятница, 09.12.2016, 11:08 |
Сообщение № 19
Группа: Админы
Ранг: Местный житель
Сообщений: 18797
Репутация: 4284 ±
Замечаний:
± Excel 2016 & Mac Excel
Андрей, браво!!! Ты всё-таки это сделал! Вот на этой строчке споткнулся [vba]
Код
Dim dd As WinHttpRequest
[/vba] убрала, заработало. Вроде, лишняя (?)
Может, оформить Готовым решением?
«Черт возьми, Холмс! Но как??!!» Ю-money 41001765434816
Ответить
krosav4ig
Дата: Пятница, 09.12.2016, 11:48 |
Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний:
0% ± Excel 2007,2010,2013
Вроде, лишняя ага, как-то сама затесалась #этнияоносамо
Может, оформить Готовым решением?
может быть, но, чтобы решение было прям совсем готовое, нужно (имхо) его дополнить проверками на ошибки и хоть немного откомментировать, а на это у мну сейчас времени немного не хватает