Зашел в Ctrl + Shift + I, Network, обновил страницу Перебрал около 100 файлов из колонки Name Во вкладке Cookies не нашел ни gal_compress, ни gal_show_thumb Во вкладке Response нашел gal_show_thumb только в двух местах:
А как всё-таки была найдена эта строка куков? В гугле результатов не выдаёт, значит это не стандартные и повсеместные строки В исходном коде страницы нет gal_compress и gal_show_thumb В куках хрома тоже нет таких
Подскажите, как получить код страницы? http://www.gamespot.com/doom-1993/images/ конкретно нужны картинки в хроме по кнопке "Просмотр кода страницы" ссылок на картинки нет вот, что выдает хром:
т.е. ссылок на картинки нет в этом коде они формируются уже при просмотре в браузере? как можно сэмулировать просмотр страницы в vba, чтобы прогрузились ссылки на картинки? WinHttpRequest не помогает, выдает тоже самое, что и хром например
Благодаря Johny удалось не только кому-то показать, что код действительно не работает на х64 офисе но и модифицировать код, чтобы он частично работал. в оригинале можно задать новый размер + качество сжатия в % в скорректированном коде для х64 офиса получается только задать новый размер
не срабатывала tParams у функции GdipSaveImageToFile, в которой задается quality возможно как то можно сделать, чтобы код работал и с параметром quality, но пока только без него
вместо :
Цитата
tParams.Count = 1 ' Initialize the encoder parameters With tParams.Parameter ' Quality CLSIDFromString StrPtr("{1D5BE4B5-FA4A-452D-9CDD-5DB35105E7EB}" ) , .GUID ' Set the Quality GUID .NumberOfValues = 1: .Type = 4: .Value = VarPtr(quality) End With lRes = GdipSaveImageToFile(hResizedBitmap, StrPtr(newFilename), tJpgEncoder, tParams) ' Save the image
не могу справиться со спортивным интересом не работает функция на офисе х64 на 32х офисе аналогичная функция выполняется и обрабатывает картинку на 64х офисе прокатывается по коду и выдает debug.print, создавая при этом пустой файл в связи с тем, что у многих нет х64 офиса: 1. есть ссылка на образ VirtualBox с установленной Win64 + офис64 + на рабочем столе файл xls и картинка для теста 2. либо через Teamviewer
если у кого то нет офиса 64, могу в личку скинуть настроенный образ диска VirtualBox с вин64 и офисом 64, где на рабочем столе лежит xls файл и картинка для теста. останется только запустить и проверить
вот прикрепил этот обновленный код, который также не срабатывает на х64 офисе, прокатывается по коду и выдает debug.print, создавая при этом пустой файл поэтому и прошу - у кого есть х64 офис проверить код (просто запустить его) - создаст он новую картинку или создаст также только пустой файл для этого требуется иметь Win x64, офис х64 и любую картинку (на Win x64 по умолчанию ставится х32 офис)
на win х64 C:\Windows\System32\scrrun.dll присутствует. размер 198 КБ, версия продукта 5.8.7600.16385 если это то, что интересует. вопрос не в Win x32 x64, а вопрос в офисе х32 х64 в C:\Program Files\Microsoft Office такая библиотека отсутствует или наверное тут у большинства х32 офис и проверить работу функции особо некому?
Игорь, спасибо, но GetPictureSizeNew работает на х64 не срабатывает LoadImage, который и есть в примере хотя тот же код на х32 нормально сохраняет картинку а на Win7 x64 + офисе х64 2010 просто создается пустой файл и выдается debug.print т.е. для GetPictureSizeNew достаточно строчки
Dim hGdiImage As LongPtr, uGdiInput As GdiplusStartupInput, hGdiPlus As LongPtr
а для LoadImage недостаточно строчки
Dim uGdiInput As GdiplusStartupInput, hGdiPlus As LongPtr
тест проводился на компьютере и ноутбуке с офисом х64. и в обоих случаях он не сработал но сработал на х32 офисе на другом ноутбуке таким образом вдруг у кого то он сработает на 64 офисе? если срабатывает - напишите пожалуйста если не срабатывает и также выдает debug.print значит дело в самом коде
Доброй ночи! никак не могу перевести функцию с 32х на 64х менял Dim uGdiInput As GdiplusStartupInput, hGdiPlus As Long на Dim uGdiInput As GdiplusStartupInput, hGdiPlus As LongPtr
на 32х офисе аналогичная функция выполняется и обрабатывает картинку на 64х офисе всё равно выдаётся ошибка, хотя вся функция выполняется (ошибка не в MsgBox, а в Debug.print, то есть ошибка не выскакивает, но всё равно функция не срабатывает)
спасибо Игорь! уж не знаю, где вы отыскали, как эти куки правильно называются, но это работает
Код
Sub test1()
Dim w As New WinHttp.WinHttpRequest
w.Open "POST", [a1].Value, False
w.setRequestHeader "Cookie", "gal_compress=640; gal_show_thumb=0"
w.send
x = Mid(w.responseText, InStr(w.responseText, "ag15/geo/" ), 40)
End Sub
Доброй ночи! подскажите, как послать значение на html страницу? есть страница http://www.ag.ru/games/sacred-2-fallen-angel/screenshots/262619 нужно изъять ссылку на скриншот шириной 640 px вот эта ссылка http://screenshots.ag.ru/ag15/geo/14656/230-r-6-640x400.jpg там нужно мышкой выбрать из выпадающего списка, чтобы сжимал оригинал до 640 по ширине - и тогда сайт покажет ссылку на эту картинку это можно сделать только через открытие ie и через ie.Navigate ? или можно сделать на чём то типа XMLHTTP, который в разы быстрее чем ie.Navigate ?
вот кусок кода страницы. если я правильно понял, туда нужно послать value 640. только куда именно посылать и как, я не знаю. подскажите, как это сделать, чтобы получить ссылку на картинку
часть кода страницы:
Скрытый текст
<h2 class=new_shadow>Настройка показа скриншотов на вашем компьютере</h2> [/td][/tr] [tr]<form name=screensetup method=post action=/post/> <input type=hidden name=act value=gallery> <input type=hidden name=code value=cookie> <input type=hidden name=gid value=14656> <input type=hidden name=sid value=262619> [td] <select size=1 name=compress class=selector id=screen_selector> <option selected value='640'>Сжимать до 640 пикс. в ширину</option> <option value='800' class=lb2>Сжимать до 800 пикс. в ширину</option> <option value='800-40'>Сжимать до 800 (-40) пикс. в ширину</option> <option value='1024' class=lb2>Сжимать до 1024 пикс. в ширину</option> <option value='1024-40'>Сжимать до 1024 (-40) пикс. в ширину</option> <option value='1280' class=lb2>Сжимать до 1280 пикс. в ширину</option> <option value='1280-40'>Сжимать до 1280 (-40) пикс. в ширину</option> <option value='' class=lb2>Показывать всегда в оригинале</option> </select><br>
Doober, спасибо за уделенное время, все работает Игорь, спасибо за предложение ber$erk, я сначала тоже хотел написать тоже самое, но был настолько глуп, что проверял код через вставку в ячейку. а она как раз режет до 500 строк, поэтому я и считал, что код не прорабатывает правильно. точно так же наверное вчера и пропустил подобные варианты кода пока гуглил, потому что тоже вставлял результат в ячейку для проверки
точно также и с моими имеющимися макросами. они все вставляют результат в ячейки для сравнения. и везде обрезалось до 500 строк, поэтому я и начал искать другие варианты. а при вторичной правильной проверке оказывается срабатывает любой код
прикрепил файл в сообщение #7 можно и не грузить ссылки. первую можно сразу отдать на обработку в макрос а вторая просто для примера что должно получиться. если ее долго грузить - то говорю, что там должно получиться не 500 строк, а 2500 потому что многие команды выдают код на 500 строк, который фактически неправильный
как можно без ссылки? там именно определенный сайт, который нужно запарсить запарсить через WinHttpRequest или через MSXML2.ServerXMLHTTP не получается, потому что они выдают не код страницы, а кучу мусора (из-за того, что страница на яве написана, я так думаю) другие сайты нормально парсятся этими методами. но именно по той ссылке, что я написал - не хочет поэтому я хочу узнать альтернативный метод а показывать код на любом другом сайте не имеет смысла, потому что он может на другом работать, а на этом, что был по ссылке не сработать да и смысл рекламить всем известный сайт в своей тематике на форуме спецов по экселю.. если та ссылка на игру не подходит - могу дать на любую другую, хоть на Doom 95 года. его то уж не надо рекламить если нужно - могу сделать на примере файла, чтобы ссылки не светить...
Доброй ночи, форумчане! помогите превратить [ссылка удалена] в код http://pastebin.com/aRfD2SJY (в txt файл или в string, без разницы) сайт вроде на яве сделан
помогите преобразовать URL, которые открываются в браузере, но не скармливаются макросу макрос GetURLstatus не хочет съедать ссылки, потому что в ссылке есть спец.символы
есть ли макрос, который проверяет ссылку на спец символы? в примере есть частичное решение. (вместо статуса 404 должен быть статус 200) Спасибо.