Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / time error 13 - type mismatch / 2 сообщений из 2, страница 1 из 1
28.01.2010, 18:39
    #36437123
Vovan1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
time error 13 - type mismatch
Здравствуйте товарищи!
Пытаюсь создать макрос в экцеле.
Для автоматического присвоения гиперссылок всем ячейкам, на файлы в заданной папке с такими же названиями как в ячейках. Но присвоение ссылки не получается сделать к файлу с наивысшим символом в конце. Т.е. ф ячейке экцеля 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
29.01.2010, 09:21
    #36437752
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
time error 13 - type mismatch
Если поиск файлов идёт по возрастанию номера, то наивысший будет найден последним, соответственно у меня сработал след. код (на 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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / time error 13 - type mismatch / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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