powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / time error 13 - type mismatch
2 сообщений из 2, страница 1 из 1
time error 13 - type mismatch
    #36437123
Vovan1986
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте товарищи!
Пытаюсь создать макрос в экцеле.
Для автоматического присвоения гиперссылок всем ячейкам, на файлы в заданной папке с такими же названиями как в ячейках. Но присвоение ссылки не получается сделать к файлу с наивысшим символом в конце. Т.е. ф ячейке экцеля 007, а в папке 007_1 и 007_2 файлы. Требуется присвоение гиперссылки к файлу 007_2. Но выдает "time error 13 - type mismatch". Может бегло проверите, где спряталась ошибка?
Заранее благодарен.

Sub hyperLink()
Const sFolder = "D:\DB"
Dim o, s$, i As Integer
For Each o In Range("G1:G100")
If Not Len(o.Text) = 0 Then
s = o.Text & "*"
Max = 0
With Application.FileSearch
.LookIn = sFolder
.SearchSubFolders = True
.FileType = msoFileTypeOfficeFiles
.Filename = s
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
If CInt(Right(.FoundFiles(i), 2)) > Max Then
maxfile = .FoundFiles(i)
Max = CInt(Right(.FoundFiles(i), 2))
End If
Next i
End If

ActiveSheet.Hyperlinks.Add Anchor:=o, Address:=maxfile
End With
End If
Next
End Sub
...
Рейтинг: 0 / 0
time error 13 - type mismatch
    #36437752
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если поиск файлов идёт по возрастанию номера, то наивысший будет найден последним, соответственно у меня сработал след. код (на 4-и строки короче):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Sub hyperLink()
Const sFolder = "g:\_For.Record\"
Dim o, s$, i As Integer
For Each o In Range("G1:G100")
If Not Len(o.Text) =  0  Then
s = o.Text & "*"
'Max = 0
With Application.FileSearch
.LookIn = sFolder
.SearchSubFolders = True
.FileType = msoFileTypeOfficeFiles
.Filename = s
If .Execute >  0  Then
For i =  1  To .FoundFiles.Count
'If CInt(Right(.FoundFiles(i), 2)) > Max Then
maxfile = .FoundFiles(i)
'Max = CInt(Right(.FoundFiles(i), 2))
'End If
Next i
End If

ActiveSheet.Hyperlinks.Add Anchor:=o, Address:=maxfile
End With
End If
Next
End Sub
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / time error 13 - type mismatch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]