2013-08-06 7 views
0

Я пытаюсь получить простой список файлов, используя функцию dir, и результат возвращает только 1 файл, хотя их 200. Любые идеи о том, что мне может не хватать в следующей функции?доступ 2007 vba: dir не работает?

Option Compare Database

Public Sub getList() 
Const strFolder As String = "c:\Users\bob\Desktop\social\" 
Dim strFile As String 
'strFile = Dir(strFolder & strPattern, vbNormal) 
strFile = Dir(strFolder, vbNormal) 
Debug.Print strFile 
Do While Len(strFile) > 0 
    Debug.Print strFile 
    strFile = Dir() 
Loop 
End Sub 
+0

Этот код отлично подходит для меня. Выполняете ли вы его непосредственно в среде VBA IDE, или вы запускаете его с помощью макроса? У вас есть какие-нибудь фанковые имена файлов в этой папке, которые могут сломать окно вывода? Я просто спотыкаюсь здесь. – chiliNUT

+0

Я просто копирую и вставляю приведенное выше в модуль и выполняю его из непосредственного окна. Я просто проверял имена файлов, а некоторые - амперсанд. Наверное, это нарушение кода? – phill

ответ

0

амперсанды отображения ОК для меня. возможно, есть другой характер, вызывающий проблемы. попробуйте заменить эту строку

strFile = Dir(strFolder, vbNormal) 

с этим,

strFile = Replace(Dir(strFolder, vbNormal), "&", Chr(37)) 

затем измените & и Chr (37), чтобы заменить другие странные символы с их CHR эквиваленты так, то, возможно, вы можете определить проблему.

Смежные вопросы