Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2732
Благодарности: 1698

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar я200202.vbs-1251.txt.rar
(3.32 Mb, 1 просмотров)

Цитата Iska:
И попросите коллегу megaloman убрать конвертацию ANSI→UTF8 из кода. »
Не надо просить!!! Уже сделал
Код: Выделить весь код
FileIn = "Z:\Soft_Arc\Словарь\1251.txt"

nword = 3

On Error Resume Next

Set FSO = CreateObject("Scripting.FileSystemObject")

On Error Resume Next

With FSO.OpenTextFile(FileIn, 1, False)
    If Err.Number <> 0 Then
        MsgBox "File   " + FileIn + vbCrLf + Err.Description + "(" + CStr(Err.Number) + ")"
        WScript.Quit 2
    End If
    On Error GoTo 0

    Alls = Split(.ReadAll, vbCrLf)
    .Close
End With
On Error GoTo 0

With CreateObject("VBScript.RegExp")
    .IgnoreCase = True
    .Global = True
    Mask = ""
    Do
        Mask = InputBox("Маска содержит русские буквы и точки, например" + vbCrLf + ".и...ц", "Поиск слов по маске", Mask)
        If Mask = "" Then Exit Do
        .Pattern = "^" + Trim(Mask) + "$"
        
        out = ""
        i = 0
        For Each word In Alls
            word = Trim(word)
            If .Test(word) Then
                If i = 0 Then out = out + word Else out = out + vbTab + word
                i = i + 1
                If i = 3 Then
                    i = 0
                    out = out + vbCrLf
                End If
            End If
        Next
        If out = "" Then
            R = MsgBox("По маске    " + """" + Mask + """" + vbCrLf + "Ничего не найдено", vbRetryCancel)
        Else
            R = MsgBox(out, vbRetryCancel, "Маска " + """^" + Trim(Mask) + "$"". Найдено:")
        End If
        If R = 2 Then Exit Do
    Loop

End With
Словарь, скрипт 1251. На моём десятилетнем ноуте загрузка словаря занимает ~30сек, поиск ~15. Но с Вашими проблемами с кодировками не уверен, что у Вас получится - проблемы в консерватории.
Кстати, findstr и словарь в 866 кодировке работает в 3 раза быстрее.
Мой Excel это кол-во строк не съел. Не знаю, может в настройках можно нашаманить.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:00, 01-02-2020 | #40