Страницы: 1
RSS
Не работает код открытию гиперссылок, гиперссылки
 
Добрый день! Подскажите, пожалуйста,  нашла в инете код как открыть гиперссылки:

Код VBA: сразу открывать сразу несколько гиперссылок
Код
Sub OpenHyperLinks()'Update 20141124
    Dim xHyperlink As Hyperlink
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each xHyperlink In WorkRng.Hyperlinks
        xHyperlink.Follow
    Next
End Sub

, но они в моем файле не открываются все (нужно скачать все изображения, скачиваются 75, которые я вручную прокликала). Что нужно дополнительно сделать?
Изменено: Case - 07.05.2019 18:18:05
 
Цитата
Case написал: Что нужно дополнительно сделать?
А что нужно сделать в принципе? В чем Ваша ЗАДАЧА?
Согласие есть продукт при полном непротивлении сторон
 
скачать массово все изображения из файла
Изменено: Case - 08.05.2019 21:20:39
 
Загрузка картинок из интернета по ссылкам
Согласие есть продукт при полном непротивлении сторон
 
Спасибо, использовала код из статьи не работает совсем-возникает ошибка при запуске.
Код который я в начале привела работает, он скачивает 75 изображений при условии, что в файле прокликать гиперссылки.
Что с ними происходит? Они изменяют формат?
Дело как я понимаю в гиперссылках, а не в коде.
Изменено: Case - 08.05.2019 21:20:54
 
Case, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
Тогда и строки нумеровать не придётся.
 
спасибо, исправила!
Изменено: Case - 08.05.2019 21:21:05
 
Ну вот за тяга к цитированию? Да и не цитата это, а полная копия моего сообщения. Зачем?
 
Извините, я новичок на форуме. А по теме есть мысли?
Изменено: Case - 08.05.2019 21:21:20
 
Вы издеваетесь? Для того, чтобы обратиться по имени, существует специальная кнопка. Она так и называется - "Имя".
А мысли есть: пройдитесь по своим сообщениям и удалите то, что Вы ошибочно считаете цитатой.
 
Юрий М, исправила. Извините!  Я не про все кнопки знаю.
Очень надеюсь на Вашу помощь по теме  
Изменено: Case - 07.05.2019 18:52:42
 
Уточнение к #4. Книга DownloadPictures.xls от Игоря замечательно работает (на 32-разрядных версиях Excel).
Владимир
 
В Вашем файле нет макроса.
По вопросу: макрос обрабатывает гиперссылки в выделенном диапазоне: сколько ячеек с гиперссылками выделили - столько он и обработает.
 
sokol92, у меня 32 разрядная Excel.  
 
Тогда пробуйте.
Владимир
 
Юрий М, я делаю следующие шаги:
1, Удерживаю  ALT + F11 и открываю Microsoft Visual Basic для приложений.
2. Нажимаю Вставить > модуль, и вставляю следующий код в Окно модуля.
Код
Sub OpenHyperLinks()
'Update 20141124
    Dim xHyperlink As Hyperlink
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    For Each xHyperlink In WorkRng.Hyperlinks
        xHyperlink.Follow
    Next
End Sub
3, Затем нажимаю F5 чтобы запустить этот код, и появляется окно подсказки, - выбираю весь диапазон [/P]
4, Затем нажимаю OK,  
Изменено: Case - 08.05.2019 21:22:06
 
Попробовала еще раз на диапазоне где ссылки пока не прокликала - запустила код - изображения не скачались.
После прокликала в этом диапазоне гиперссылки, запустила еще раз - все получилось.
В чем мистика?
Может тогда переформулировать задачу - как прокликать все ячейки?
 
Вы всё делаете правильно. Только пункты 1 и 2 следует выполнить один раз. После этого сохранить файл с поддержкой макросов.
Проверил на столбце В - у Вас не во всех ячейках гиперссылки. Можете убедиться в этом сами: наводите курсор на ячейки и не везде указатель мышки поменяет свой вид на ладошку.
 
Юрий М, да действительно Вы правы насчет гиперссылок! А как тогда массово сделать их настоящими гиперссылками, чтобы все при наведении мышкой становились ладошками?  Я пробовала выделять лист и нажимать кнопку на панели стилей "Гиперссылка", но это не помогает. И Спасибо за подсказку про сохранение с поддержкой макросов!
 
Следующий макрос интерпретирует значения ячеек, которые начинаются на "http:", как гиперссылки и загружает соответствующие файлы в ту же папку, где содержится книга с макросом. Перед вызовом нужно выделить соответствующие ячейки.
Код
#If VBA7 Then
Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileW" _
    (ByVal pCaller As LongPtr, ByVal szURL As LongPtr, ByVal szFileName As LongPtr, _
    ByVal dwReserved As Long, ByVal lpfnCB As LongPtr) As Long
#Else
Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileW" _
    (ByVal pCaller As Long, ByVal szURL As Long, ByVal szFileName As Long, _
    ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#End If

Sub DownloadSelection()
    Dim url, fil, i As Long, c As Range, n As Long, statusbar_o
    statusbar_o = Application.StatusBar
    For Each c In Selection.Cells
        url = c.Value
        If LCase(url) Like "http:*" Then
            i = InStrRev(url, "/")
            fil = ThisWorkbook.Path & "\" & Mid(url, i + 1)
            If URLDownloadToFile(0, StrPtr(url), StrPtr(fil), 0, 0) <> 0 Then
                MsgBox "Download error: " & url, vbCritical
            Else
                n = n + 1
                Application.StatusBar = "Download files: " & n
            End If
        End If
    Next c
    Application.StatusBar = statusbar_o
End Sub
Владимир
 
sokol92, Супер! ПРОСТО БОМБА! Спасибо огромное! Все получилось даже у меня, новичка!
 
Успехов и с наступающим!
Владимир
Страницы: 1
Наверх