2016-05-19 2 views
0

предупреждаю, это мой первый вопрос о переполнении стека:Выявление и обобщение сломанных гиперссылок

У меня есть лист с несколькими гиперссылок в обеих клетках и форм. Мы собираемся перестроить наши файлы, чтобы лучше организовать папки, которые собираются сломать некоторые из этих ссылок. Я нашел полезный Q/A в Stack Overflow, который прошел через меня, построив sub, чтобы проверить, не сломана ли ссылка и выделить ее.

Мой вопрос в том, как я могу определить якорь неработающей ссылки?

Я хочу создать новый лист в книге «broken_hyper», в котором перечислены все сломанные ссылки по всей книге и создается гиперссылка (или даже описание) обратно туда, где я могу найти и исправить неработающую ссылку.

Я попытался с помощью

If objhttp.statustext <> "OK" Then 

    alink.Parent.Interior.Color = 255 
    ActiveSheet.Cells(i, 2) = alink.Parent 
    ActiveSheet.Hyperlink.Add _ 
     Anchor:=ActiveSheet.Cells(i, 2), _ 
     Address:=alink.Parent 
     i = i + 1 
End If 

Однако, я не могу найти какое-либо имущество по .parent, кроме .cells.row или .cells.column, который находит якорь легко.

Любая помощь очень ценится. Я не профессионал - все, что я подобрал до сих пор, было из полезных ответов таких людей, как вы, поэтому спасибо за это.

+0

'aLink.Parent' указывает на ячейку, вы, очевидно, не найти якорь там. Попробуйте выполнить поиск непосредственно в 'aLink' – litelite

+0

Я ищу ячейку, в которой находится' alink.parent', поэтому я могу установить новую гиперссылку 'address: =' "alink.parent cell string", чтобы любой мог просто щелкнуть ссылку для перехода к сломанной гиперссылке. – hoge36

+0

От _anchor_ Вы имеете в виду ячейку, в которой находится (сломанная) ссылка? – litelite

ответ

0

Используйте .Addressproperty

If objhttp.statustext <> "OK" Then 

    alink.Parent.Interior.Color = 255 
    ActiveSheet.Cells(i, 2) = alink.Parent 
    ActiveSheet.Hyperlink.Add _ 
     Anchor:=ActiveSheet.Cells(i, 2), _ 
     Address:=alink.Parent.Address 
     i = i + 1 
End If 
+0

Спасибо за ответ. Я хочу связать обратно в ячейку, где была исходная ссылка. В основном эта программа находит все неработающие ссылки и создает их список. Я хочу, чтобы новая ссылка вернулась к местоположению сломанной ссылки (рабочий лист длинный), поэтому мне не нужно его искать. Если возможно, я хотел бы использовать свойство 'alink' для создания аргумента': = address' для новой гиперссылки. – hoge36

+0

Итак, 'alink.parent.address' дает мне именно то, что мне нужно. Я просто борюсь с фактическим получением vba для создания новой гиперссылки сейчас. Спасибо за вашу помощь! – hoge36

Смежные вопросы