Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
11 / 11 / 7
Регистрация: 05.11.2011
Сообщений: 87
1

User-defined type not defined. Ругается на объявление корневой процедуры

08.08.2017, 09:32. Показов 4385. Ответов 11
Метки нет (Все метки)

Привет! Поискал решение, не нашел, давно не обращался за помощью на форум так вот ругается на первую же строчку кода, т.е. на "Sub FSD()". Весь код:
PureBasic
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
27
28
29
30
Sub FSD()
    FolderName = "O:\путькпапке_кириллицей" 
 
    Dim coll As New Collection, filename
    filename = Dir(FolderPath$ & "*.htm")
    While filename <> ""
        coll.Add filename    ' ñ÷èòûâàåì â êîëåêöèþ coll íóæíûå èìåíà ôàéëîâ
        filename = Dir
    Wend
    Dim pos As Long
    Dim rowcunt As Long
    rowcunt = 3
    pcname = "<TR><TD><TD><TD>Êîìïüþòåð&nbsp;&nbsp;<TD>"
    
    For Each filename In coll
     Dim fso As New FileSystemObject
     Dim ts As TextStream
     Set ts = fso.OpenTextFile(FolderName & filename, ForReading)
     Dim TextLine As String
     Do Until ts.AtEndOfStream
         TL = ts.ReadLine
         pos = InStr(1, pcname, TL)
         If pos > 0 Then
            Range("B" & rowcunt).Value = Right(TL, Len(TL) - 42)
         End If
     Loop
     rowcunt = rowcunt + 1
     ts.Close
    Next
End Sub
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2017, 09:32
Ответы с готовыми решениями:

'User - defined type not defined' при запуске моей процедуры
Здравствуйте, меня зовут Сергей. Я - тот, кого называют чайником в вопросах программирования...

Ошибка `user-defined type not defined`. VBA для OneNote
Используется Win-7; Excel-2016; OneNote-2016. Пробую выполнить пример согласно этой статьи:...

Compile error: User-defined type not defined помогите разобраться
Есть код: Private Sub Поле1_GotFocus() Dim dbs As Database Dim rst As Recordset Dim...

Ошибка 'User-defined type not defined' на ADODB.Recordset
В MSWord 2000 такая проблема: компилятор выдает ошибку 'User-defined type not defined' на...

__________________
11
es geht mir gut
11226 / 4703 / 1178
Регистрация: 27.07.2011
Сообщений: 11,426
08.08.2017, 09:42 2
Цитата Сообщение от DO_oK Посмотреть сообщение
FSD()
Обзови по другому FSD_1 , например.
0
11 / 11 / 7
Регистрация: 05.11.2011
Сообщений: 87
08.08.2017, 09:45  [ТС] 3
Переименовал в FSD_1(), не работает. Вообще от имени не зависит пробовал разные варианты и кириллицу тоже
0
6822 / 2764 / 520
Регистрация: 19.10.2012
Сообщений: 8,432
08.08.2017, 09:46 4
Библиотека с FileSystemObject подключена?
0
11 / 11 / 7
Регистрация: 05.11.2011
Сообщений: 87
08.08.2017, 09:50  [ТС] 5
Если речь идет об этом то видимо нет. Можно поподробней?
0
Миниатюры
User-defined type not defined. Ругается на объявление корневой процедуры  
6822 / 2764 / 520
Регистрация: 19.10.2012
Сообщений: 8,432
08.08.2017, 10:17 6
Лучший ответ Сообщение было отмечено DO_oK как решение

Решение

Найдите и подключите Microsoft scripting runtime scrrun.dll
3
Эксперт MS Access
26631 / 14325 / 3171
Регистрация: 28.04.2012
Сообщений: 15,706
08.08.2017, 10:24 7
Библиотека Microsoft Scripting Runtime. Но часто применяют позднее связывание без объявления в референсах: вместо Dim fso As New FileSystemObject пишут
Visual Basic
1
2
Dim fso As Object
Set fso = createobject("scripting.FileSystemObject")
Добавлено через 31 секунду
Аппаздал
3
11 / 11 / 7
Регистрация: 05.11.2011
Сообщений: 87
08.08.2017, 10:25  [ТС] 8
Проблема решилась, спасибо!
Найдите и подключите Microsoft scripting runtime scrrun.dll
0
es geht mir gut
11226 / 4703 / 1178
Регистрация: 27.07.2011
Сообщений: 11,426
08.08.2017, 10:29 9
Цитата Сообщение от mobile Посмотреть сообщение
Аппаздал
Зато в этом случае ничего не надо подключать .
0
11 / 11 / 7
Регистрация: 05.11.2011
Сообщений: 87
09.08.2017, 07:37  [ТС] 10
Попробовал так, остается ошибка, не подскажите в чем дело?
PureBasic
1
2
3
4
5
6
7
8
     Dim fso As Object
     Set fso = CreateObject("scripting.FileSystemObject")
     Dim ts As TextStream
     Set ts = fso.OpenTextFile(FolderName & filename, ForReading)
     Dim TextLine As String
     Do Until ts.AtEndOfStream
         TL = ts.ReadLine
..........
0
6822 / 2764 / 520
Регистрация: 19.10.2012
Сообщений: 8,432
09.08.2017, 08:45 11
Ошибка в TextStream - что это, куда это... никто не знает.
Замените на Object
0
Модератор
Эксперт MS Access
10043 / 4057 / 654
Регистрация: 07.08.2010
Сообщений: 11,383
Записей в блоге: 3
09.08.2017, 09:21 12
у меня заработало, но после исправлений
Visual Basic
1
2
3
4
5
6
foldername = "O:\путькпапке_кириллицей\"
'''
pos = InStr(1, tl, pcname)
If pos > 0 And Len(tl) > 42 Then
Range("B" & rowcunt).Value = Right(tl, Len(tl) - 42)
End If
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2017, 09:21

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Открыть Excel-файл из VBA, ошибка: "User-defined Type not defined"
Привет всем. Сразу прошу прощения, если вопрос покажется ламерским - в программировании пока...

User-defined type not defined
Уважаемые, помогите, запарился... Есть макрос в Access, нужно вызывать этот макрос из excel (нужно...

Как устранить ошибку: "user-defined type not defined"?
Помогите с решением проблемы, выскакивает ошибка user defined type not defined при работе над...

Как устранить ошибку: "user-defined type not defined"?
user-defined type not defined - эта ошибка возникает тогда из Excel должен создаться документ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.