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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2010, 16:15   #11
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

Спасибо за ответ.
Я вот не понимаю, что делает этот код:
Код:
FileFolderExists = Dir(HL) = ""
На все случаи возвращает 0.

Вот вложил файл. Рисунок держим на C:\, а текстовый на D:\
Вложения
Тип файла: rar Book1.rar (86.7 Кб, 23 просмотров)
AChrist вне форума Ответить с цитированием
Старый 25.01.2010, 16:23   #12
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот так будет работать:



В коде было 3 ошибки. Теперь всё правильно:

Код:
Public Function FileFolderExists(ByRef cell As Range) As Boolean
    On Error Resume Next
    thisworkbookpath = Replace(cell.Parent.Parent.FullName, cell.Parent.Parent.Name, "")
    hl = cell.Hyperlinks(1).Address
    If Dir(hl) = "" And hl <> "" Then hl = thisworkbookpath & Replace(hl, "/", "\")
    FileFolderExists = Dir(hl) <> "" And hl <> ""
End Function

Public Sub TestFileExistence()
    rr = 15    '  ставим в какой столбец записывать результат
    Dim cell As Range
    For Each cell In Range([A1], Range("A" & Rows.Count).End(xlUp)).Cells
        cell(1, rr) = -1 * FileFolderExists(cell)
    Next cell
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 25.01.2010, 16:28   #13
AChrist
Пользователь
 
Регистрация: 29.11.2008
Сообщений: 31
По умолчанию

Цитата:
В коде было 3 ошибки.
Только одна в
Код:
FileFolderExists = Dir(hl) <> "" And hl <> ""
:-)
Идеально работает. Спасибо за помощь и понятные объяснения.
AChrist вне форума Ответить с цитированием
Старый 22.01.2018, 17:13   #14
denis524
Новичок
Джуниор
 
Регистрация: 22.01.2018
Сообщений: 1
По умолчанию

В данном макросе в ячейках с текстом, где нет гиперссылки макрос ставит 1 (Истина). Как исправить?
denis524 вне форума Ответить с цитированием
Старый 24.05.2018, 06:09   #15
Анатолий8383
Пользователь
 
Регистрация: 11.01.2018
Сообщений: 14
По умолчанию

Здравствуйте, наткнулся на ваш макрос,

Цитата:
Public Function FileFolderExists(ByRef cell As Range) As Boolean
On Error Resume Next
thisworkbookpath = Replace(cell.Parent.Parent.FullName , cell.Parent.Parent.Name, "")
hl = cell.Hyperlinks(1).Address
If Dir(hl) = "" And hl <> "" Then hl = thisworkbookpath & Replace(hl, "/", "\")
FileFolderExists = Dir(hl) <> "" And hl <> ""
End Function

Public Sub TestFileExistence()
rr = 15 ' ставим в какой столбец записывать результат
Dim cell As Range
For Each cell In Range([A1], Range("A" & Rows.Count).End(xlUp)).Cells
cell(1, rr) = -1 * FileFolderExists(cell)
Next cell
End Sub
попробовал, все работает отлично НО только до 145 строки, подскажите почему от до конца таблицы не работает? В таблице около 3000 строк
Анатолий8383 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
несколько одновременно работающих копий программы - ? Evgenii Общие вопросы Delphi 3 06.07.2009 09:38
объединение гиперссылок petrov_ja Microsoft Office Excel 4 03.04.2009 20:22
несколько гиперссылок в ячейке redfield Microsoft Office Excel 5 05.12.2008 13:06
Создание гиперссылок в Word Hypermaster Общие вопросы Delphi 1 06.10.2008 11:39
удаление гиперссылок Gambler Microsoft Office Word 0 30.10.2006 23:23