Excel как проверить гиперссылку

Поиск ссылок (внешних ссылок) в книге

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Связывание с другими книгами — очень распространенная задача в Excel, но иногда вы можете найти книгу, которая ссылок не может найти, хотя Excel сообщает о том, что она существует. Нет способа автоматического поиска всех внешних ссылок, используемых в книге, однако существует несколько способов, используемых вручную. Вам нужно искать формулы, определенные имена, объекты (например, текстовые поля или фигуры), названия диаграмм и ряды данных диаграммы.

Имя любой Excel книги, с помощью ссылки на которую вы ссылались, будет связана с расширением XL* (например, .xls, .xlsx, XLSM), поэтому рекомендуемый способ — найти все ссылки на частичное расширение XL. Если вы ссылались на другой источник, необходимо определить оптимальный поисковый запрос.

Поиск ссылок, используемых в формулах

  1. Нажмите CTRL+F, чтобы запустить диалоговое окно Найти и заменить.

  2. Нажмите кнопку Параметры.

  3. В поле Найти введите.xl.

  4. В поле В пределах выберите книга.

  5. В поле Искать в выберите формулы.

  6. Нажмите кнопку Найти все.

  7. В отображемом списке наймем в столбце Формула формул, содержащих XL. В этом случае Excel найдено несколько экземпляров функции бюджетного Master.xlsx.

    Диалоговое окно "Поиск и замена"

  8. Чтобы выбрать ячейку с внешней ссылкой, щелкните ссылку на эту строку в списке.

    Совет: Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.

  1. На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.

  2. Проверьте каждую запись в списке и проверьте, нет ли в столбце Ссылка внешних ссылок. Внешние ссылки содержат ссылку на другую книгу, например [Budget.xlsx].

    Диалоговое окно "Диспетчер имен"

    Советы: 

    • Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.

    • Если вы хотите удалить сразу несколько элементов, можно сгруппнуть несколько элементов, нажав клавишу SHIFT или CTRL и щелкнув левой кнопкой мыши.

  1. Нажмите клавиши CTRL+G, нажмите клавиши CTRL+G, чтобы перейти в диалоговое окно Перейти, а затем выберите специальные > объекты > ОК. При этом будут выбраны все объекты на активном сайте.

    Диалоговое окно > "Специальная"

  2. Нажимая клавишу TAB, переходить между выбранными объектами, а затем искать в строка формул Изображение кнопки ссылку на другую книгу, например [Budget.xlsx].

    Фигура, выбранная для показа имени ссылки в панели формул

  1. Щелкните название диаграммы, которую вы хотите проверить.

  2. В строка формул Изображение кнопкинаймем ссылку на другую книгу, например [Budget.xls].

  1. Выберите диаграмму, которую нужно проверить.

  2. На вкладке Макет в группе Текущий выделение щелкните стрелку рядом с полем Элементы диаграммы и выберите ряд данных, которые нужно проверить.

    Выбор параметра ряда в параметрах диаграммы > формат > текущий выделение

  3. На строка формул Изображение кнопки, наймем ссылку на другую книгу, например [Budget.xls] в функции РЯД.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Исправление недействительных ссылок

Разрыв связи с внешним ресурсом в Excel

Управление обновлением внешних ссылок (связей)

Нужна дополнительная помощь?

@tridgill 

How do I find broken links in Excel?

There are different ways to check whether the hyperlinks are OK or not.
Here are two quick methods.

Method 1:
Cell Relationship Diagram
In the menu bar, select the Files> Options tab.
In the opened Excel Options window, click the Add-ins tab.
Now select the COM add-in from the drop-down list and press the OK button. In the open com add-in dialog box, choose Inquiries.
After that, you will see the Inquiries tab is added to the Excel ribbon.
In the diagram group, you need to select Cell Relationship.
The next window of the cell relationship diagram appears on the screen.
In the opened dialog box, select the options you want and press the OK button.
Very soon the diagram will appear on your Excel screen.
You can zoom in to see the links between a cell and another cell, or between a cell and another worksheet.
Here you can see the entire cell relationship diagram with all the links included. You can also use this chart to review the broken links in your Excel workbook.
I found this method to be the best way to find the cell with the broken Excel links.

Method 2:
Using Excel VBA
Another method to find broken Excel link is by using Excel VBA. In this method, we use the massive code to trace the broken link to an Excel workbook cell.

You can also restore the return value of the accessing source links to determine whether the links are actually broken or not.

To use the code, you need to add the Microsoft XML V3 reference:

Private Function CheckHyperlink(HypelinksCell As Range) As String

On Error GoTo ErrorHandler

Dim oHttp As New MSXML2.XMLHTTP30

oHttp.Open “HEAD”, HypelinksCell.Text, False

oHttp.send

CheckHyperlink = oHttp.Status & ” ” & oHttp.statusText

Exit Function

ErrorHandler:

CheckHyperlink = “Error: ” & Err.Description

End Function

Sub Test()

Debug.Print CheckHyperlink(Range(“A1”))

End Sub

With the above code, you can easily keep track of the broken link details of each worksheet cell.

Once you know the exact location of the broken link, move on to fixing the broken Excel link.

How do I fix broken links in Excel?
Warning: This step cannot be undone. So it is better that you keep the backup of your Excel workbook before starting the process.

Open your Excel workbook with the broken links problem.
Go to the Data tab and tap on the Edit Links option. If you don’t get the «Edit Links» option, it means there are no links in your workbook.
Now select the broken link that you want to fix in the Source file field.
Click the Change Source option.
Find the location of the Excel file with the source of your linked data.
Now select the new source file and click on the Change Source option.
Tap the Close option.

Hope I was able to help you with this information from the internet.

Nikolino

I know I don’t know anything (Socrates)

* Kindly Mark and Vote this reply if it helps please, as it will be beneficial to more Community members reading here.

PS: Открытые ссылки не закрываются и накапливаются в браузере. Доброкачественные ссылки могут не открыться из-за переполнения.
Поэтому 5000, видимо, нужно проверять кусками, каждый раз закрывая браузер.

PS: Открытые ссылки не закрываются и накапливаются в браузере. Доброкачественные ссылки могут не открыться из-за переполнения.
Поэтому 5000, видимо, нужно проверять кусками, каждый раз закрывая браузер. Формуляр

Excel 2003 EN, 2013 EN

PS: Открытые ссылки не закрываются и накапливаются в браузере. Доброкачественные ссылки могут не открыться из-за переполнения.
Поэтому 5000, видимо, нужно проверять кусками, каждый раз закрывая браузер. Автор — Формуляр
Дата добавления — 07.08.2014 в 14:48

Источник

Поиск ссылок (внешних ссылок) в книге

Связывание с другими книгами — очень распространенная задача в Excel, но иногда вы можете найти книгу, которая ссылок не может найти, хотя Excel сообщает о том, что она существует. Нет способа автоматического поиска всех внешних ссылок, используемых в книге, однако существует несколько способов, используемых вручную. Вам нужно искать формулы, определенные имена, объекты (например, текстовые поля или фигуры), названия диаграмм и ряды данных диаграммы.

Имя любой Excel книги, с помощью ссылки на которую вы ссылались, будет связана с расширением XL* (например, .xls, .xlsx, XLSM), поэтому рекомендуемый способ — найти все ссылки на частичное расширение XL. Если вы ссылались на другой источник, необходимо определить оптимальный поисковый запрос.

Поиск ссылок, используемых в формулах

Нажмите CTRL+F, чтобы запустить диалоговое окно Найти и заменить.

Нажмите кнопку Параметры.

В поле Найти введите .xl.

В поле В пределах выберите книга.

В поле Искать в выберите формулы.

Нажмите кнопку Найти все.

В отображемом списке наймем в столбце Формула формул, содержащих XL. В этом случае Excel найдено несколько экземпляров функции бюджетного Master.xlsx.

Чтобы выбрать ячейку с внешней ссылкой, щелкните ссылку на эту строку в списке.

Совет: Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.

На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.

Проверьте каждую запись в списке и проверьте, нет ли в столбце Ссылка внешних ссылок. Внешние ссылки содержат ссылку на другую книгу, например [Budget.xlsx].

Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.

Если вы хотите удалить сразу несколько элементов, можно сгруппнуть несколько элементов, нажав клавишу SHIFT или CTRL и щелкнув левой кнопкой мыши.

Нажмите клавиши CTRL+G, нажмите клавиши CTRL+G, чтобы перейти в диалоговое окно Перейти, а затем выберите специальные > объекты > ОК. При этом будут выбраны все объекты на активном сайте.

«Специальная»» loading=»lazy»>

Нажимая клавишу TAB, переходить между выбранными объектами, а затем искать в строка формул ссылку на другую книгу, например [Budget.xlsx].

Щелкните название диаграммы, которую вы хотите проверить.

В строка формул наймем ссылку на другую книгу, например [Budget.xls].

Выберите диаграмму, которую нужно проверить.

На вкладке Макет в группе Текущий выделение щелкните стрелку рядом с полем Элементы диаграммы и выберите ряд данных, которые нужно проверить.

формат > текущий выделение» loading=»lazy»>

На строка формул , наймем ссылку на другую книгу, например [Budget.xls] в функции РЯД.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Источник

Excel как проверить гиперссылку

Проверить ссылки на другие листы

При проверке расчетов и корректировке формул зачастую необходимо работать с ссылками в выражениях на другие листы.

Если мы хотим проверить значение в ячейке на другом листе, на которую ссылается наша формула, то приходится тратить много времени на поиск ячейки по ее адресу вручную.

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

  1. Выбрать ячейку для проверки и перейти в меню ФОРМУЛЫ .
  2. Нажать на кнопку «Влияющие ячейки»
  3. При наличии ссылок на другие листы, мы увидим стрелку с указанием на другой лист.
  4. Необходимо кликнуть два раза по стрелке и вызвать окно перехода.
  5. В открывшемся окне , выбираем ссылку на необходимый лист и нажимаем ОК .
  6. Программа выделит целевую ячейку , влияющую на наши расчеты.

Данный способ также позволяет увидеть все внешние ссылки и проверить все исходные данные по очереди.

Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее «перевести»)

Источник

Почему не работает гиперссылка в Excel

Гиперссылка – потрясающий инструмент, позволяющий создать связь информации в электронной таблице с другим файлом или данными, находящимися в интернете. Пользователь может вставлять их как в сам документ, так и определенную область диаграммы. Процедура добавления ссылки очень проста, но у некоторых пользователей возникают проблемы, когда они пытаются перейти по ним. Причем нередко они возникают внезапно: раньше все получалось сделать с первого раза, а теперь выдает ошибку. Почему так возникает? И как исправить эту ситуацию? Давайте разберемся в этом более подробно.

В чем заключается проблема?

До определенного момента все хорошо: пользователь хочет открыть ссылку, и перед ним показывается тот документ или веб-страница, которая ему нужна. Но через некоторое время при тех же действиях появляется следующее сообщение.

И эта ошибка повторяется во всех офисных приложениях, а не только Excel!

Хорошо, если действительно есть системный администратор, к которому просят обратиться. А что делать, если им являетесь вы, а вы не знаете, как решить эту проблему?

Почему не работают гиперссылки в Excel

Эта проблема связана с тем, что программа для работы с электронными таблицами не может найти тот браузер, который установлен, как предустановленный. Очень часто это происходит, когда человек пользовался Google Chrome, а потом его удалил по тем или иным причинам. Этот браузер плохо чистит реестр в процессе удаления, поэтому там остаются старые записи.

Программа по умолчанию – это такое приложение, которое открывается автоматически, когда пользователь открывает определенный тип файлов или совершает какое-то конкретное действие. В нашем случае таким типом данных является веб-страница. Когда пользователь делает клик по ссылке, она должна открываться через программу, которая называется браузером. И если он удаляется, то не всегда в реестр вносятся соответствующие изменения, связанные с удалением.

Как сделать, чтобы в Эксель открывались гиперссылки

Итак, что можно сделать для того, чтобы решить проблему с открытием гиперссылок в Excel? Первое, что нужно делать – закрыть абсолютно все офисные приложения, которые в данный момент открыты на вашем компьютере. После этого надо выполнить следующую инструкцию. Она действует применительно к Windows 7, но принцип аналогичный для любой другой версии Windows.

  1. Нажать кнопку «Пуск».
  2. Открыть браузер, который будет использоваться по умолчанию для открытия гиперссылок. Мы будем показывать, как это работает, на примере Internet Explorer. Последовательность действий, которую нужно выполнить в других браузерах, будет отличаться. Но сам принцип не меняется.
  3. Итак, после того, как мы откроем Internet Explorer, нам нужно перейти в меню настроек (шестеренка), после чего нажать по пункту «Свойства обозревателя».
  4. После этого появится диалоговое окно с параметрами Internet Explorer. Нам нужно перейти на вкладку «Программы». Там появится опция «Веб-браузер по умолчанию». Нам нужно нажать на кнопку «Использовать по умолчанию».
  5. Подтверждаем свои действия. Для этого нужно нажать на кнопку «ОК».

Вы можете выполнять эти шаги, применительно к другому браузеру.

Например, вы случайно удалили другой браузер, после которого остались следы в реестре. Предположим, вы установили Google Chrome. В таком случае последовательность действий будет следующей:

  1. Нажимаем на три точки в правом верхнем углу. После этого переходим в меню «Настройки».
  2. После того, как мы перейдем туда, там будет раздел «Браузер по умолчанию». Там нужно сделать Google Chrome браузером по умолчанию.

Также возможно самостоятельное решение этой проблемы. Для этого нужно выполнить следующие шаги:

  1. Нажать на меню «Пуск» и открыть блокнот (в пункте «Все программы»).
  2. Далее нужно вставить в блокнот следующий текст (это команды для добавления соответствующих ключей реестра).

REG ADD HKEY_CURRENT_USERSoftwareClasses.htm /ve /d htmlfile /F

REG ADD HKEY_CURRENT_USERSoftwareClasses.html /ve /d htmlfile /F

REG ADD HKEY_CURRENT_USERSoftwareClasses.shtml /ve /d htmlfile /F

REG ADD HKEY_CURRENT_USERSoftwareClasses.xht /ve /d htmlfile /F

REG ADD HKEY_CURRENT_USERSoftwareClasses.xhtml /ve /d htmlfile /F

  1. Далее этот файл нужно сохранить под названием MSO_Hyperlinks.CMD. После этого блокнот можно закрыть.
  2. Это исполняемый файл, поэтому его можно запустить так же, как и любую программу. Поскольку он предусматривает добавление важных системных записей, его нужно запускать с правами администратора. Для этого нужно сделать правый клик мышью по этому файлу и нажать на кнопку «Запустить с правами администратора». Далее появится сообщение, в котором нужно записать пароль администратора, если он есть.
  3. После этого нажимаем на кнопку «Продолжить».
  4. Затем появится предупреждающее диалоговое окно, спрашивающее о том, подтверждаете ли вы изменения в реестр. Подтверждаете (кликаете на «Да»).

Теперь реестр изменен. Теперь проблема с переходом по гиперссылкам должна быть решена. Если у Вас Windows 10, то последовательность действий в целом будет похожей. Но есть еще один способ, как можно изменить настройки программ по умолчанию для того, чтобы исправить проблему с открытием ссылки через браузер.

Самый простой способ открытия настроек программ по умолчанию Windows 10 – нажать комбинацию клавиш Win + I. Также можно открыть параметр «Приложения по умолчанию» в параметрах приложений.

Нас интересует пункт «Веб-браузер». Нажимаем на то приложение, которое установлено по умолчанию. После этого выбираем то, которое нам нужно использовать в качестве стандартного просмотрщика веб-страниц.

Теперь проблема должна быть решена. Как видим, нет ничего сложного в решении этой ситуации. Если ссылка не открывается, то это всегда связано с тем приложением. которое не открывает ее. В крайнем случае всегда можно скопировать проблемную ссылку и вставить ее в тот браузер, который получается. Если компьютер находится во владении компании, и доступа к настройкам системного администратора нет в данный момент, а проблему надо решить срочно, то нет никакого другого варианта. Успехов.

Источник

Adblock
detector

Проверка работоспособности гиперссылки

alex_07

Дата: Понедельник, 02.04.2018, 16:04 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Добрый вечер!
Подскажите пожалуйста.
Есть файл в котором более 1500 гиперссылок на файлы, которые находятся на компьютере.
Гиперссылки сделаны по средствам Excel (=Гиперссыла(ячейка с адресом на компьютере))
Как можно проверить работоспособность (т.е. наличие файла по данной гиперссылке) по средствам VBA?

Гуглил данный вопрос, но нашел только код для проверки Web ссылок в интернете.
Заранее спасибо!

 

Ответить

Апострофф

Дата: Понедельник, 02.04.2018, 16:43 |
Сообщение № 2

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

117

±

Замечаний:
0% ±


Excel 1997

alex_07, приложите файл с парой гиперссылок.
А навскидку — смотрите в сторону функции DIR

 

Ответить

alex_07

Дата: Вторник, 03.04.2018, 06:21 |
Сообщение № 3

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

приложите файл с парой гиперссылок.

Прикладываю файл, в котором расположил макрос найденный в интернете, однако он не работает.
Как я подозреваю, из за того что он (макрос) проверяет Web ссылки, а не ссылки на файлы.

К сообщению приложен файл:

3837279.xlsm
(16.0 Kb)

Сообщение отредактировал alex_07Вторник, 03.04.2018, 06:23

 

Ответить

Апострофф

Дата: Вторник, 03.04.2018, 06:55 |
Сообщение № 4

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

117

±

Замечаний:
0% ±


Excel 1997

Держите —
[vba]

Код

Sub Main()
    Dim c As Range
    [c6] = ThisWorkbook.FullName ‘ЛИШНЯЯ СТРОКА (ДЛЯ ПРОВЕРКИ)
    For Each c In Range(«D6:D100»)
        c.Offset(, 1) = TestHyperlink(c.Text)
    Next c
End Sub

Function TestHyperlink(s As String) As Boolean
TestHyperlink = Len(s) And Dir(s, 63) > «»
End Function

[/vba]

 

Ответить

alex_07

Дата: Вторник, 03.04.2018, 15:30 |
Сообщение № 5

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2016


Не работает. Везде выдает ЛОЖЬ, при этом файлы существуют, и при нажатии открываются.

 

Ответить

Апострофф

Дата: Вторник, 03.04.2018, 15:59 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 416


Репутация:

117

±

Замечаний:
0% ±


Excel 1997

А так?
[vba]

Код

Sub Main()
    Dim c As Range
    ChDrive ThisWorkbook.Path
    ChDir ThisWorkbook.Path
    For Each c In Range(«D6:D100»)
        c.Offset(, 1) = TestHyperlink(c.Text)
    Next c
End Sub

Function TestHyperlink(s As String) As Boolean
TestHyperlink = Len(s) And Dir(s, 63) > «»
End Function

[/vba]

 

Ответить

alex_07

Дата: Среда, 04.04.2018, 05:18 |
Сообщение № 7

Группа: Пользователи

Ранг: Новичок

Сообщений: 15


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Апострофф, да, все работает! Спасибо!

 

Ответить

21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

1

19.12.2013, 16:47. Показов 19137. Ответов 11


Студворк — интернет-сервис помощи студентам

Здравствуйте.
Столкнулся с необходимостью проверки гиперссылок на корректность.
Возможно ли сделать так, чтоб макрос автоматически проверял рабочая гиперссылка или нет?
Меня интересуют не ссылки на файлы на компьютере или сервере(там все понятно), меня интересуют http ссылки.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

19.12.2013, 16:47

11

Аксима

6076 / 1320 / 195

Регистрация: 12.12.2012

Сообщений: 1,023

19.12.2013, 22:43

2

Kirill R, да, думаю, это возможно.

У меня получился такой вариант проверки с помощью функции:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
'Ôóíêöèÿ âîçâðàùàåò True, åñëè ãèïåðññûëêà êîððåêòíà (âåäåò íà
'ñóùåñòâóþùóþ ñòðàíèöó â èíòåðíåòå), è False - â ïðîòèâíîì ñëó÷àå.
Function TestHyperlink(ByVal h As Hyperlink) As Boolean
    On Error Resume Next
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", h.Address, False
        .send
        TestHyperlink = .statusText = "OK"
    End With
    On Error GoTo 0
End Function

С уважением,

Aksima



2



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

19.12.2013, 23:14

 [ТС]

3

Благодарю, завтра на работе попробую



0



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

23.12.2013, 08:33

 [ТС]

4

Aksima, спасибо, данный вариант работает. А не могли бы Вы вкратце пояснить принцип работы?

Добавлено через 8 минут
ах, нет, протестировал на нескольких заведомо ложных вариантах, всегда true выдает…



0



Аксима

6076 / 1320 / 195

Регистрация: 12.12.2012

Сообщений: 1,023

23.12.2013, 10:44

5

Цитата
Сообщение от Kirill R
Посмотреть сообщение

не могли бы Вы вкратце пояснить принцип работы?

Вот программа с пояснениями:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Function TestHyperlink(ByVal h As Hyperlink) As Boolean
    On Error Resume Next 'Включаем обработку ошибок.
    With CreateObject("MSXML2.XMLHTTP")
    'Формируем запрос к веб-странице по методу "GET".
        .Open "GET", h.Address, False
    'Отправляем запрос.
        .send
    'Функция возвращает результат сравнения строки
    'статуса запроса с ключевой фразой "OK".
        TestHyperlink = .statusText = "OK"
    End With
    On Error GoTo 0 'Выключаем обработку ошибок.
End Function
 
Sub Main()
    Dim c As Range
    For Each c In Range("A1:A4")
        c.Offset(, 1) = TestHyperlink(c.Hyperlinks(1))
    Next c
End Sub

Цитата
Сообщение от Kirill R
Посмотреть сообщение

ах, нет, протестировал на нескольких заведомо ложных вариантах, всегда true выдает…

Может, что-то не так сделали? У меня все работает:

Миниатюры

Проверка гиперссылок в Excel на корректность
 



1



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

23.12.2013, 13:06

 [ТС]

6

Aksima, да, все, спасибо, я уже разобрался в чем дело. заодно и разобрался в Вашем скрипте
Я применяю данный скрипт к корпоративному порталу, поэтому некоторые ложные срабатывания связаны с особенностями работы sharepoint.



0



Helicoid

01.02.2014, 18:56

7

Товарищи помогите пожалуйста. Мне нужно сделать все то же самое только все ссылки на файлы в компьютере. Вариант предложенный Aksima идеальный.

21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

06.02.2014, 11:44

 [ТС]

8

Helicoid, функция FileExist проверяет наличие файла по указанному пути.



1



KoGG

5590 / 1580 / 406

Регистрация: 23.12.2010

Сообщений: 2,366

Записей в блоге: 1

07.02.2014, 13:48

9

Для Helicoid

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub TestExcellink()
    Dim El, aLinks, LinkFilePathName
    aLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    If Not IsEmpty(aLinks) Then
        For Each El In aLinks
            LinkFilePathName = Dir(El)
            If LinkFilePathName = "" Then
                Debug.Print El & " файл отсутствует"
                ' При необходимости можно разорвать связь на отсутствующий файл
                ' ActiveWorkbook.BreakLink name:=El, Type:=xlLinkTypeExcelLinks
            Else
                Debug.Print El & " ОК"
            End If
        Next El
    End If
End Sub

Debug.Print печатает в окно Immediate.
Переход в окно редактора VBA: Alt+F11 , далее вызов окна Immediate: Ctrl + G



1



0 / 0 / 0

Регистрация: 20.02.2019

Сообщений: 5

22.03.2019, 08:59

10

Цитата
Сообщение от Аксима
Посмотреть сообщение

Может, что-то не так сделали? У меня все работает:

Уважаемый Аксима, этот способ отлично работает для проверки страниц с портала. Но у меня возникли сложности с проверкой конкретно документов с портала. Именно *.pdf и *.xls. У меня имеется достаточно большое количество различных таких файлов. Мне нужно проверить есть ли файл по ссылке или нет (например УП ИВТ есть, УП ПИ отсутствует и т.д.), подскажите как такое можно реализовать?

Изображения

 



0



21 / 21 / 4

Регистрация: 08.04.2013

Сообщений: 150

26.03.2019, 16:23

 [ТС]

11

Kamidzu_san13, я этот способ использовал для проверки всех ссылок на портале, вне зависимости от того, указывают они на страницы, либо на файлы. С pdf и xsl все прекрасно работало. В чем у Вас сложности возникли?



0



Kamidzu_san13

0 / 0 / 0

Регистрация: 20.02.2019

Сообщений: 5

27.03.2019, 15:44

12

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function TestHyperlink(ByVal h As Hyperlink) As Boolean
    On Error Resume Next 
    With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", h.Address, False
           .send
           TestHyperlink = .statusText = "OK"
    End With
    On Error GoTo 0 
End Function
 
Sub Main()
    Dim c As Range
    For Each c In Range("F2:F5")
        c.Offset(, 1) = TestHyperlink(c.Hyperlinks(1))
    Next c
End Sub

Вот в ячейках F у меня гиперссылки созданные автоматически в зависимости от имени файла.
И когда запускаю этот макрос по всем пунктам ложь. Хотя там все рабочие.
Может библиотеку какую не подключил? Просто не понимаю уже. Месяца два пробовал и так и эдак, кучу всего перечитал. Пробовал и с относительными и с полноценными…Все бестолку. Уже просто руки опускаются не понимаю в чем беда

Добавлено через 1 минуту
Пробовал ещё и этой функцией… тоже не помогло

Visual Basic
1
2
3
4
5
6
7
8
9
Function TryURLstatus(ByVal URL$) As Long
 On Error Resume Next: URL$ = Replace(URL$, "", "/")
 Set XMLHTTP = CreateObject("Microsoft.XMLHTTP")
 XMLHTTP.Open "GET", URL, "False"
 XMLHTTP.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"
 XMLHTTP.send
 TryURLstatus = Val(XMLHTTP.Status)
 Set XMLHTTP = Nothing
End Function



0



Понравилась статья? Поделить с друзьями:
  • Excel как присвоить тексту числовое значение
  • Excel как присвоить тексту число
  • Excel как присвоить ранг
  • Excel как присвоить одно значение нескольким ячейкам
  • Excel как присвоить номер строки