大哥们,又要请你们帮忙了!

viking7 2004-03-14 03:05:38
请问怎么实现读取一个文件夹中所有的文件啊,一次读取,包括文件中的子目录里的文件。谢谢了
...全文
24 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2004-03-14
  • 打赏
  • 举报
回复
用vb自带的dir函数也可以,具体的可以看看这个:
http://www.yesky.com/20000918/114872.shtml

不过,用递归速度是个问题
viking7 2004-03-14
  • 打赏
  • 举报
回复
谢谢了,去研究一下
华芸智森 2004-03-14
  • 打赏
  • 举报
回复

Private Declare Function WritePrivateProfileString _
Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationname As String, ByVal _
lpKeyName As Any, ByVal lsString As Any, _
ByVal lplFilename As String) As Long

Private Declare Function GetPrivateProfileString Lib _
"kernel32" Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationname As String, ByVal _
lpKeyName As String, ByVal lpDefault As _
String, ByVal lpReturnedString As String, _
ByVal nSize As Long, ByVal lpFileName As _
String) As Long



'
'读INI文件.
'函数:GetIniStr
'参数:AppName 项目名.In_Key 键名,sFileName 文件名
'返回值:成功:对应的键值.失败或不存在:""
Public Function GetIniStr(ByVal AppName As String, ByVal In_Key As String, ByVal sFileName As String) As String

On Error GoTo GetIniStrErr

If VBA.Trim$(In_Key) = "" Then
GoTo GetIniStrErr
End If

Dim GetStr As String
GetStr = VBA.String(128, 0)
GetPrivateProfileString AppName, In_Key, "", GetStr, 256, sFileName
GetStr = VBA.Replace(GetStr, VBA.Chr(0), "")
If GetStr = "" Then
GoTo GetIniStrErr
Else
GetIniStr = GetStr
GetStr = ""
End If
Exit Function

GetIniStrErr:
Err.Clear
GetIniStr = ""
GetStr = ""
End Function

'
'写INI文件.
'函数:WriteIniStr
'参数:AppName 项目名.In_Key 键名,In_Data 键值,sFileName 文件名
'返回值:成功=TRUE.失败=FALSE
Public Function WriteIniStr(ByVal AppName As String, ByVal In_Key As String, ByVal in_data As String, ByVal sFileName As String) As Boolean
On Error GoTo WriteIniStrErr
WriteIniStr = True
If VBA.Trim(in_data) = "" Or VBA.Trim(In_Key) = "" Or VBA.Trim(AppName) = "" Then
GoTo WriteIniStrErr
Else
WritePrivateProfileString AppName, In_Key, in_data, sFileName
End If
Exit Function

WriteIniStrErr:
Err.Clear
WriteIniStr = False
End Function
viking7 2004-03-14
  • 打赏
  • 举报
回复
谢谢楼上的大哥,再请问一下,能给点关于ini文件的使用吗?
华芸智森 2004-03-14
  • 打赏
  • 举报
回复
忘记说明一点.

引用:MICROSOFT SCRIPTING RUNTIME
华芸智森 2004-03-14
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim fs As New FileSystemObject ' 建立 FileSystemObject
Dim fd As Folder ' 定义 Folder 对象
Dim sfd As Folder

Set fd = fs.GetFolder("c:\")
ListFolder fd
End Sub

Sub ListFolder(fd As Folder)
Dim sfd As Folder

For Each sfd In fd.SubFolders
Debug.Print sfd.Path
List1.AddItem sfd.Path
ListFolder sfd ' 以 sfd 为参数,递归调用
Next
End Sub
薛定谔之死猫 2004-03-14
  • 打赏
  • 举报
回复
gz

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧