读取path.ini文件中设定的文件夹路径后,使用DIR查找*.DAT文件无法执行,如下程序(Print fStr 无法显示)。请各位大侠帮忙看看错在哪了。谢谢!Option Explicit Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As LongPrivate Sub Command1_Click()
Dim A As Long
Dim Source_1 As String
Dim Destination As String
Dim fso As New FileSystemObject
    
Dim fStr As String
Dim pathStr As String
Dim fname As String
'读取PATH.INI信息
Form1.Cls 'Form1清屏
Source_1 = Space$(1000) '事先定义读取值的字串宽度
Source_2 = Space$(1000) '事先定义读取值的字串宽度
Destination = Space$(1000) '事先定义读取值的字串宽度
A = GetPrivateProfileString("PATH", "DATSOURCE", "", Source_1, 1000, App.Path & "\PATH.INI")
Print Left$(Source_1, Len(Trim$(Source_1)))  '获取PATH.INI文件中DATSOURCE设定的文件夹路径赋给Source_1A = GetPrivateProfileString("PATH", "DESTINATION_PATH", "", Destination, 1000, App.Path & "\PATH.INI")
Print Left$(Destination, Len(Trim$(Destination))) '获取PATH.INI文件中DESTINATION_PATH设定的文件夹路径赋给Destination
If A = 0 Then MsgBox ("Read INI file error!")pathStr = Source_1  '将Source_1中文件夹路径值赋给pathStr 
Print pathStr  '可正常输出文件夹路径
fStr = Dir(pathStr & "\*.dat")
Print fStr '问题在此,无法输出End Sub

解决方案 »

  1.   

    Print pathStr
    上句输出的路径对吗,帖出来
      

  2.   

    A = GetPrivateProfileString("PATH", "DATSOURCE", "", Source_1, 1000, App.Path & "\PATH.INI") 
    'GetPrivateProfileString 会在参数 lpReturnedString 中写入一个 Chr$(0) 作为值的结束符pathStr = Source_1
    'pathStr 后面包含了 Chr$(0) 和空格fStr = Dir(pathStr & "\*.dat")
    'pathStr & "\*.dat" 这个路径中间包含了 Chr$(0) 和空格更正
    pathStr = Trim$(Replace(Source_1, Chr$(0), " "))
      

  3.   

    fStr = Dir(trim(pathStr) & "\*.dat")
      

  4.   

    已经解决,非常感谢Tiger_Zhao!