Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2015, 15:29   #1
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию нерабочие гиперссылки

Добрый день. У меня такой код:
Код:
For Each Cell In Selection
        i = Cell.Hyperlinks.Count
        If i = 0 Then
            MsgBox "В ячейках нету гиперссылок"
            Exit Sub
        End If
        On Error GoTo 10
        Cell.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
10 Err.Clear
Next
Если в выделенных ячейках 1 гиперссылка нерабочая, 2 рабочая, 3 нерабочая, то 1 гиперссылку не открывает, 2 открывает, а на 3 выдает ошыбку: Run-Time error '-2146697210 (800c0006)'. Узел интернета сообщил, что нужный документ не найден. (HTTP/1.0 404).
Ребята, почему при 1 нерабочей гиперссылки такой ошибки не видает, а при 3 видает? Почему на 3 гиперссылке не работает On Error?
Jaroslav вне форума Ответить с цитированием
Старый 23.02.2015, 15:39   #2
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Прилагаю файл с 3 гиперссылками
Вложения
Тип файла: zip Гиперссылки.zip (7.8 Кб, 14 просмотров)
Jaroslav вне форума Ответить с цитированием
Старый 23.02.2015, 15:54   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

В этом коде нет нормального обработчика ошибок. Попробуйте так
Код:
Dim hlnk As Hyperlink
If Selection.Hyperlinks.Count = 0 Then
  MsgBox "В ячейках нету гиперссылок"
  Exit Sub
End If
On Error Resume Next
For Each hlnk In Selection.Hyperlinks
  hlnk.Follow NewWindow:=False, AddHistory:=True
Next
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 23.02.2015, 16:19   #4
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Казанский, я так понимаю, если гиперссылка неработающая, то должна выполнятся строка после
Код:
hlnk.Follow NewWindow:=False, AddHistory:=True
? дело в том, что я привел код не полностью и после:
Код:
Cell.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
у меня идет большой кусок программы, в котором кликается на ссылке в интернете, которая открыта из ексель
Jaroslav вне форума Ответить с цитированием
Старый 23.02.2015, 16:30   #5
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Можно ли как-то пропускать гиперссылки, которые не открываются в браузере?
Jaroslav вне форума Ответить с цитированием
Старый 23.02.2015, 16:40   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
Dim hlnk As Hyperlink
If Selection.Hyperlinks.Count = 0 Then
  MsgBox "В ячейках нету гиперссылок"
  Exit Sub
End If
On Error Resume Next
For Each hlnk In Selection.Hyperlinks
  hlnk.Follow NewWindow:=False, AddHistory:=True
  If Err Then 'плохая гиперссылка
    Err.Clear
  Else
    'здесь работа с открывшейся ссылкой
  End If
Next
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 23.02.2015, 16:44   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

или так, с использованием классического бейсиковского механизма обработки ошибок
Код:
Dim hlnk As Hyperlink
If Selection.Hyperlinks.Count = 0 Then
  MsgBox "В ячейках нету гиперссылок"
  Exit Sub
End If
On Error GoTo 10
For Each hlnk In Selection.Hyperlinks
  hlnk.Follow NewWindow:=False, AddHistory:=True
    'здесь работа с открывшейся ссылкой
1 Next
'...
Exit Sub

10 Resume 1 'это обработчик ошибки
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 23.02.2015, 16:55   #8
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо, Казанский
Jaroslav вне форума Ответить с цитированием
Старый 02.05.2015, 00:50   #9
Mazajka
Новичок
Джуниор
 
Регистрация: 02.05.2015
Сообщений: 4
По умолчанию

Казанский, здравствуйте!Помогите, пожалуйста!
Каждый день мне приходится проверять рабочесть ссылок с переходом по URL (фото прилагаю). Мне нужно написать такой макрос, чтобы при выделении определенных ячеек и запуске этого макроса, все эти ссылки открылись в браузере.

Я вроде бы написала скрипт:
Public Sub ссылки3()
Dim CHs As Range
Dim CH As Range
Dim i As Integer

Set CHs = Selection.Cells
i = 0

For Each CH In CHs
CH.Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
DoEvents
Next
End Sub.

Но вот как обойти ошибку следующего характера: Если ссылка нерабочая, то макрос выдает ошибку. Как изменить строку "Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True"?
Mazajka вне форума Ответить с цитированием
Старый 02.05.2015, 00:51   #10
Mazajka
Новичок
Джуниор
 
Регистрация: 02.05.2015
Сообщений: 4
По умолчанию

Казанский, здравствуйте!Помогите, пожалуйста!
Каждый день мне приходится проверять рабочесть ссылок с переходом по URL (фото прилагаю). Мне нужно написать такой макрос, чтобы при выделении определенных ячеек и запуске этого макроса, все эти ссылки открылись в браузере.

Я вроде бы написала скрипт:
Public Sub ссылки3()
Dim CHs As Range
Dim CH As Range
Dim i As Integer

Set CHs = Selection.Cells
i = 0

For Each CH In CHs
CH.Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
DoEvents
Next
End Sub.

Но вот как обойти ошибку следующего характера: Если ссылка нерабочая, то макрос выдает ошибку. Как изменить строку "Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True"?
Mazajka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос гиперссылки! famasik Microsoft Office Excel 3 06.11.2013 10:08
Гиперссылки max12 Microsoft Office Excel 4 18.01.2013 16:50
Гиперссылки в excel лена кузя Помощь студентам 1 24.03.2012 14:43
гиперссылки в word In_Progress Microsoft Office Word 5 14.03.2012 05:50
Гиперссылки Masha-z Microsoft Office Excel 2 16.08.2011 09:01