Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Fellinggood
2 / 2 / 0
Регистрация: 06.06.2009
Сообщений: 324

Найти файл по имени в visual basic если он создан в формате utf-8

07.10.2016, 09:47. Показов 948. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Такая ситуация – создается отчет из программы sppa t-3000 в формате utf-8 как файл csv. В программе требуется организовать поиск файлов по названию. Но когда сравниваешь название файла со строкой текста, (например str = “Основные показатели*”, где * - это продолжение названия файла, то есть найти все файлы, которые начинаются с «основные показатели…») то он ее не находит, хотя другие файлы созданные на windows находит.

Не подскажете как организовать такой поиск? Наверное требуется данную строку str = “Основные показатели*” перекодировать в utf-8 и с этой строкой сравнить название файла.

Добавлено через 27 минут
более подробно нужно как то найти файл по имени если он в формате utf-8. Если имя файла "основные показатели_4454" в формате utf-8, то какая должна быть строка текста с которой нужно сравнить имя данного файла?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.10.2016, 09:47
Ответы с готовыми решениями:

Файлы. Если файл не создан, то rewrite, если создан - reset
Ребят подскажите, существует ли проверка на наличие типизированного файла? Просто мне нужно сделать так, что если файл не создан, то...

Как сделать надпись "файл не создан" если нужно его прочитать но файл ещё не создан?
Как сделать надпись "файл не создан" если нужно его прочитать но файл ещё не создан? Например в такой программе: uses crt; Type...

IIS + CGI + Visual Basic = стучимся об UTF?
Такая проблема: Сделал CGI на Visual Basicе - принимает некое слово из веб-формы и тут же выдает его обратно. Эдакий примерчик для...

3
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
07.10.2016, 10:04
Цитата Сообщение от Fellinggood Посмотреть сообщение
какая должна быть строка текста с которой нужно сравнить имя данного файла?
А у Вас сейчас какая?
0
 Аватар для Fellinggood
2 / 2 / 0
Регистрация: 06.06.2009
Сообщений: 324
07.10.2016, 10:24  [ТС]
Visual Basic
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
Private Sub Command1_Click()
    Dim MyExcel As Object
    Set MyExcel = CreateObject("Excel.Application")
   ' MyExcel.Visible = True
  '  MyExcel.Workbooks.Add
 
    
    
 Dim fs, f, s, stroka
 Dim MyTime
 Dim MyDate
 Dim time_Prover, time_created, timeDate_created
 Dim arrPutFile(10) As String
 Dim arrNameFile(10) As String
 Dim arrTimeCreation(10) As String
 Dim arrOnlyHour(10) As String
 Dim put_files
 Dim Put_files_withNamefile
 Dim put_file_s_chert
 Dim str_probel
 Dim kolvo_files
 Dim name_list(10) As String
 Dim time_creatZamenadvoet(10) As String
 Dim index_TEK_FILE
 Dim connect As String 'connection при извлечении из csv
 Const xlDelimited = 1  'xlDelimited это константа и ее надо приравнивать 1 или 2 в зависимости от того нужно извлекать файл с разделителями
 'или нет
 Const xlTextQualifierDoubleQuote = 1 'xlTextQualifierDoubleQuote это константа и ее надо приравнивать 1 или 2 в зависимости от
 'того нужно поставить в качестве разделителя двойные или одинарные кавычки
 
 Dim zapros
 
 str_probel = ""
 put_files = "C:\Documents and Settings\Admin\Рабочий стол\основные показатели"
 put_file_s_chert = put_files & ""
 
    Set fs = MyExcel.FileSearch
        With fs
            .LookIn = put_files 'Путь файлов
            .SearchSubFolders = True
            .FileName = "Основные показатели*"
            
            'MyTime = Time
            'MsgBox MyTime
            MyDate = Date
           ' MsgBox MyDate
            
            time_Prover = "11"
            
            If .Execute() > 0 Then
                kolvo_files = .FoundFiles.Count 'Количество найденных файлов и соответственно количество данных в массиве
                MsgBox "There were " & kolvo_files & _
                " file(s) found."
                
            'Цикл в котором ищутся файлы и сохраняется
            'время, путь файла, имя файла и час создания
                For i = 1 To kolvo_files  'Цикл от 1 до кол-ва найденных файлов
                    arrPutFile(i) = MyExcel.FileSearch.FoundFiles(i)
                    Put_files_withNamefile = arrPutFile(i)
                    'Имя самого файла arrNameFile(i)
                    arrNameFile(i) = Replace(Put_files_withNamefile, put_file_s_chert, str_probel)
                 '   MsgBox arrNameFile(I)
                '    MsgBox arrPutFile(I)
                    Set fs = CreateObject("Scripting.FileSystemObject")
                    Set f = fs.GetFile(arrPutFile(i)) 'Получить доступ к файлу по пути файла arrPutFile(i)
                    timeDate_created = f.DateCreated 'Дата и время создания файла
                    arrTimeCreation(i) = Right(timeDate_created, 8) 'Время (с часами и минутами) создания файла
                    time_creatZamenadvoet(i) = Replace(arrTimeCreation(i), ":", "_") 'Замена : во времени на знак подчеркивания
                  '  MsgBox (time_creatZamenadvoet(i))
                 '   MsgBox (arrTimeCreation(i))
                  '  s = "Created: " & timeDate_created 'f.DateCreated
                   ' MsgBox s
                   
                    arrOnlyHour(i) = Mid(timeDate_created, 12, 1) 'Время (час) создания файла
                   ' MsgBox arrOnlyHour(i)
                    
                    'Проверка что час создания равен заданному
                   ' If time_created = time_Prover Then
                  '      MsgBox ("Время создания 11 часов")
                  '  End If
                Next i
            Else
                MsgBox "There were no files found."
            End If
            End With
            
            MyExcel.Workbooks.Add 'создание новой рабочей книги
            MyExcel.Visible = True
           
            For i = 1 To kolvo_files
                If arrOnlyHour(i) = "0" Then
                    MyExcel.ActiveWorkbook.Sheets("Лист1").Select
                    name_list(1) = "Основные показатели " & time_creatZamenadvoet(i)
                    MyExcel.ActiveWorkbook.Sheets("Лист1").Name = name_list(1)
                    connect = "TEXT;" & arrPutFile(i)
                    '"TEXT;C:\Documents and Settings\Admin\Рабочий стол\Образец CSV.csv"
 
            Set resul_zapros = MyExcel.ActiveSheet.QueryTables.Add(Connection:= _
            connect, _
            Destination:=MyExcel.ActiveSheet.Range("A1"))
            
            With resul_zapros
            .Name = name_list(1)
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 1252
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = True
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "^"
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            
            End With
                    Exit For
                End If
            Next i
    MyExcel.Quit
End Sub

Visual Basic
1
2
3
4
With fs
            .LookIn = put_files 'Путь файлов
            .SearchSubFolders = True
            .FileName = "Основные показатели*"

В этом куске текста проги .FileName = "Основные показатели*"
И когда он ищет имя файла с кодировкой utf-8 то ничего не находит, но если создать обычный файл word или txt с таким же названием то программа находит данный файл
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
10.10.2016, 00:43
Имя файла в формате utf-8... это вообще как? Может Вы имеете в виду юникодное?

Скопируйте-Вставьте имя файла, которое у Вас не получается найти в голубое поле "детектора кириллицы" (см.ниже). Покажите побуквенную расшифровку.

Кстати, просто для информации, класса FileSearch больше нет в Office 2010, так что Ваш код там не будет работать вообще, если захочется портировать.
Вложения
Тип файла: xls Детектор кириллицы2.xls (88.5 Кб, 7 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2016, 00:43
Помогаю со студенческими работами здесь

Как открыть файл в richtextbox в формате UTF-8
Сделал программу которая открывает текстовые файлы.Всё работает просто я не могу нигде найти как сделать чтобы моя программа открывала...

Как создать электронную книгу в формате fb2 на Visual Basic 6.0
Я не сильна в программировании, но прошу можете помочь.Моя задача заключается в том, что, нужно создать программу на Visual Basic 6.0...

Вывод массива в файл в unix формате и utf-8 кодировке
Собственно, как написать сию функцию? Чем пользоваться? Особенно интересует часть где unix формат.

Не пишет в файл, даже если он создан
Посмотрите что не так в коде. Файл output.txt не создаётся, но даже если он создан в него ничего не пишется. Ошибок никаких нет, программа...

Как найти файл с определенным именем, если последние символы имени могут меняться
Добрый день, помогите, пожалуйста, написать код для кнопки. Задача такая: Есть два файла Excel, необходимо перенести данные или...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru