-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Vba отказывается работать с файлами в имени которых иероглифы и другие спец символы

Суббота, 25 Мая 2019 г. 17:33 + в цитатник
Добрый день

Чтобы импортировать данные из файлов Excel использовал следующее:
+
Private Sub Кнопка0_Click()
Dim a As Long
a = 0
a = CreateObject("scripting.filesystemobject").getfolder(CurrentProject.Path & "\файлы").files.Count 'считаем количество файлов в папке
If a > 0 Then 'если папка не пустая
'то
st = Dir$(CurrentProject.Path & "\файлы\*.xls", 15) 'запоминаем имя первого файла
Do While Len(st) > 0
Call LoadExcel(CurrentProject.Path & "\файлы\" & st) 'запускаем функцию загрузки инфы из файла
st = Dir$ 'запоминаем имя следующего файла
Loop
' Call Kill(CurrentProject.Path & "\файлы" & "*.*") 'удаляем все файлы из папки
Else
'иначе выводим сообщение о том что папка пустая
MsgBox "Сначала необходимо загрузить файлы в папку Файлы"
End If
 
End Sub
Private Function LoadExcel(ExcelPath As String)
'функция загрузки инфы из ексель файла
 
Dim ExlApp As Object
Dim WrkBk As Object
Set ExlApp = CreateObject("Excel.sheet")
Set WrkBk = ExlApp.Parent
WrkBk.workbooks.Open ExcelPath 'открываем файл ексель
WrkBk.Visible = False 'делаем невидимым
ExcelRow = WrkBk.Cells.SpecialCells(11).Row 'определяем количество строк
ExcelColumn = WrkBk.Cells.SpecialCells(11).Column 'определяем количество столбцов
 
Dim a(1 To 8) As Integer
 
For i = 1 To ExcelColumn 
'определяем нужные столбцы - сравнение идет по названию столбцов
Select Case WrkBk.Cells(1, i)
..................
End Select
Next i
 
'загружаем информацию в таблицу
................
 
WrkBk.Quit 'закрываем ексель
Set WrkBk = Nothing 'сброс объектных переменных
Set ExlApp = Nothing
 
End Function

Но сейчас приходят файлы в имени которых присутствует иероглифы и другие спец. символы.
Во время запуска функции импорта в строке
WrkBk.workbooks.Open ExcelPath

возникает ошибка, т.е. окошко в котором Microsoft Office Access сообщает: нам не удалось найти файл ... Возможно он был перемещен, переименован или удалён?
Пробовал смотреть название файла через MsgBox эти символы отображаются вопросительными знаками, как и при просмотре в области отладки (Immediate).

https://www.sql.ru/forum/1312928/vba-otkazyvaetsya-rabotat-s-faylami-v-imeni-kotoryh-ieroglify-i-drugie-spec-simvoly


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку