18 个解决方案
#1
快顶呀
#2
Private Sub Command1_Click()
Dim arrTemp() As String
Dim arrCount As Long
Dim I As Long
arrTemp = GetAllFileName(App.Path & "/Query", "ini")'这个参数可以是其它的后缀
arrCount = UBound(arrTemp, 1)
If arrCount > 0 Then
For I = 1 To arrCount
Debug.Print arrTemp(I)
Next I
End If
End Sub
Public Function GetAllFileName(FolderName As String, suffixName As String) As String()
Dim strTemp As String
Dim arrTemp() As String
Dim FolderNameTemp As String
On Error GoTo acd
ReDim arrTemp(0) As String
If InStrRev(FolderName, "\") <> 1 Then
FolderNameTemp = FolderName & "\"
Else
FolderNameTemp = FolderName
End If
strTemp = Dir(FolderNameTemp)
Do While strTemp <> ""
If LCase(Mid(strTemp, Len(strTemp) - Len(suffixName) + 1, Len(suffixName))) = LCase(suffixName) Then
ReDim Preserve arrTemp(UBound(arrTemp, 1) + 1)
arrTemp(UBound(arrTemp, 1)) = strTemp
End If
strTemp = Dir
Loop
GetAllFileName = arrTemp
Exit Function
acd:
GetAllFileName = arrTemp
End Function
Dim arrTemp() As String
Dim arrCount As Long
Dim I As Long
arrTemp = GetAllFileName(App.Path & "/Query", "ini")'这个参数可以是其它的后缀
arrCount = UBound(arrTemp, 1)
If arrCount > 0 Then
For I = 1 To arrCount
Debug.Print arrTemp(I)
Next I
End If
End Sub
Public Function GetAllFileName(FolderName As String, suffixName As String) As String()
Dim strTemp As String
Dim arrTemp() As String
Dim FolderNameTemp As String
On Error GoTo acd
ReDim arrTemp(0) As String
If InStrRev(FolderName, "\") <> 1 Then
FolderNameTemp = FolderName & "\"
Else
FolderNameTemp = FolderName
End If
strTemp = Dir(FolderNameTemp)
Do While strTemp <> ""
If LCase(Mid(strTemp, Len(strTemp) - Len(suffixName) + 1, Len(suffixName))) = LCase(suffixName) Then
ReDim Preserve arrTemp(UBound(arrTemp, 1) + 1)
arrTemp(UBound(arrTemp, 1)) = strTemp
End If
strTemp = Dir
Loop
GetAllFileName = arrTemp
Exit Function
acd:
GetAllFileName = arrTemp
End Function
#3
GetModuleFileName
FindFirstFile
FinNextFile
FindClose
FindFirstFile
FinNextFile
FindClose
#4
to :tztz520(午夜逛街)
很感谢,已经可以实现了,但是有一个问题就是,我不想把文件的后缀名也给列出来 ,应如何处理呀
很感谢,已经可以实现了,但是有一个问题就是,我不想把文件的后缀名也给列出来 ,应如何处理呀
#5
换个思路看看
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs, f
Dim obj
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
MsgBox arr(i)
Next
End Sub
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs, f
Dim obj
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
MsgBox arr(i)
Next
End Sub
#6
arrTemp(UBound(arrTemp, 1)) = strTemp改为arrTemp(UBound(arrTemp, 1)) = Mid(strTemp, 1, Len(strTemp) - Len(suffixName) - 1)
#7
\\我不想把文件的后缀名也给列出来 ,应如何处理呀
left(file.name,instr(1,file.name,".")-1)
left(file.name,instr(1,file.name,".")-1)
#8
online(龙卷风V2.0--再战江湖) 的漏判了是否ini文件
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs as file
dim f as folder
Dim obj as filesystemobject
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
if lcase(right(fs.name,3)) = "ini" then
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
end if
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
debug.print arr(i)
Next
End Sub
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs as file
dim f as folder
Dim obj as filesystemobject
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
if lcase(right(fs.name,3)) = "ini" then
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
end if
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
debug.print arr(i)
Next
End Sub
#9
就是,只想的得到指定目录下的文件了
呵呵
呵呵
#10
楼上各位,我把读出来的文件名经过修改,也就是把读出的文件名字符串经过修改后,按确定键后,再读文件名,保证文件名确实经过修改了,应如何处理呀????
#11
fso.movefile 原文件名,新文件名
#12
是不是要引用什么库或者什么的吧
直接这样写好像不行呀
直接这样写好像不行呀
#13
用fso的话要引用 microsoft script runtime 库
#14
这样就不需要引用了,使用后期绑定,直接从注册表中可以找到
Set obj = CreateObject("scripting.filesystemobject")
下面的多了一句
Dim obj as filesystemobject
Set obj = CreateObject("scripting.filesystemobject")
下面的多了一句
Dim obj as filesystemobject
#15
其实我的完整的功能是把应用程序所在目录下的Query文件下的INI文件都列出来显示在TreeView控件,当我双击的时候可以对选中的结点的文件名进行修改,并使这个文件名得到确实的修改,谁能帮我写一个差不多的程序呀??????
#16
呵呵,学到很多东西
#17
用固有函数就可以实现:
dim strFiles() as string
dim strTemp as string
dim i as integer
strTemp=Dir(app.path & "\Query\*.ini")
Do Until strTemp=""
redim preserve strFiles(i)
strFile(i)=Left(strTemp, InstrRev(strTemp, ".")-1)
strTemp = Dir
i=i+1
Loop
For i=0 To Ubound(strFiles)
Name strFiles(i) As App.Path & "\Query\File" & format(i+1, "0#") & ".ini" '改名
Next i
dim strFiles() as string
dim strTemp as string
dim i as integer
strTemp=Dir(app.path & "\Query\*.ini")
Do Until strTemp=""
redim preserve strFiles(i)
strFile(i)=Left(strTemp, InstrRev(strTemp, ".")-1)
strTemp = Dir
i=i+1
Loop
For i=0 To Ubound(strFiles)
Name strFiles(i) As App.Path & "\Query\File" & format(i+1, "0#") & ".ini" '改名
Next i
#18
继续顶呀
#1
快顶呀
#2
Private Sub Command1_Click()
Dim arrTemp() As String
Dim arrCount As Long
Dim I As Long
arrTemp = GetAllFileName(App.Path & "/Query", "ini")'这个参数可以是其它的后缀
arrCount = UBound(arrTemp, 1)
If arrCount > 0 Then
For I = 1 To arrCount
Debug.Print arrTemp(I)
Next I
End If
End Sub
Public Function GetAllFileName(FolderName As String, suffixName As String) As String()
Dim strTemp As String
Dim arrTemp() As String
Dim FolderNameTemp As String
On Error GoTo acd
ReDim arrTemp(0) As String
If InStrRev(FolderName, "\") <> 1 Then
FolderNameTemp = FolderName & "\"
Else
FolderNameTemp = FolderName
End If
strTemp = Dir(FolderNameTemp)
Do While strTemp <> ""
If LCase(Mid(strTemp, Len(strTemp) - Len(suffixName) + 1, Len(suffixName))) = LCase(suffixName) Then
ReDim Preserve arrTemp(UBound(arrTemp, 1) + 1)
arrTemp(UBound(arrTemp, 1)) = strTemp
End If
strTemp = Dir
Loop
GetAllFileName = arrTemp
Exit Function
acd:
GetAllFileName = arrTemp
End Function
Dim arrTemp() As String
Dim arrCount As Long
Dim I As Long
arrTemp = GetAllFileName(App.Path & "/Query", "ini")'这个参数可以是其它的后缀
arrCount = UBound(arrTemp, 1)
If arrCount > 0 Then
For I = 1 To arrCount
Debug.Print arrTemp(I)
Next I
End If
End Sub
Public Function GetAllFileName(FolderName As String, suffixName As String) As String()
Dim strTemp As String
Dim arrTemp() As String
Dim FolderNameTemp As String
On Error GoTo acd
ReDim arrTemp(0) As String
If InStrRev(FolderName, "\") <> 1 Then
FolderNameTemp = FolderName & "\"
Else
FolderNameTemp = FolderName
End If
strTemp = Dir(FolderNameTemp)
Do While strTemp <> ""
If LCase(Mid(strTemp, Len(strTemp) - Len(suffixName) + 1, Len(suffixName))) = LCase(suffixName) Then
ReDim Preserve arrTemp(UBound(arrTemp, 1) + 1)
arrTemp(UBound(arrTemp, 1)) = strTemp
End If
strTemp = Dir
Loop
GetAllFileName = arrTemp
Exit Function
acd:
GetAllFileName = arrTemp
End Function
#3
GetModuleFileName
FindFirstFile
FinNextFile
FindClose
FindFirstFile
FinNextFile
FindClose
#4
to :tztz520(午夜逛街)
很感谢,已经可以实现了,但是有一个问题就是,我不想把文件的后缀名也给列出来 ,应如何处理呀
很感谢,已经可以实现了,但是有一个问题就是,我不想把文件的后缀名也给列出来 ,应如何处理呀
#5
换个思路看看
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs, f
Dim obj
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
MsgBox arr(i)
Next
End Sub
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs, f
Dim obj
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
MsgBox arr(i)
Next
End Sub
#6
arrTemp(UBound(arrTemp, 1)) = strTemp改为arrTemp(UBound(arrTemp, 1)) = Mid(strTemp, 1, Len(strTemp) - Len(suffixName) - 1)
#7
\\我不想把文件的后缀名也给列出来 ,应如何处理呀
left(file.name,instr(1,file.name,".")-1)
left(file.name,instr(1,file.name,".")-1)
#8
online(龙卷风V2.0--再战江湖) 的漏判了是否ini文件
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs as file
dim f as folder
Dim obj as filesystemobject
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
if lcase(right(fs.name,3)) = "ini" then
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
end if
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
debug.print arr(i)
Next
End Sub
Option Explicit
Dim arr() As String
Private Sub Command1_Click()
Dim fs as file
dim f as folder
Dim obj as filesystemobject
Set obj = CreateObject("scripting.filesystemobject")
Set f = obj.GetFolder("c:\bmp")
ReDim arr(0)
For Each fs In f.Files
if lcase(right(fs.name,3)) = "ini" then
List1.AddItem fs.Path
ReDim Preserve arr(UBound(arr) + 1)
arr(UBound(arr)) = fs.Path
end if
Next
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To UBound(arr)
debug.print arr(i)
Next
End Sub
#9
就是,只想的得到指定目录下的文件了
呵呵
呵呵
#10
楼上各位,我把读出来的文件名经过修改,也就是把读出的文件名字符串经过修改后,按确定键后,再读文件名,保证文件名确实经过修改了,应如何处理呀????
#11
fso.movefile 原文件名,新文件名
#12
是不是要引用什么库或者什么的吧
直接这样写好像不行呀
直接这样写好像不行呀
#13
用fso的话要引用 microsoft script runtime 库
#14
这样就不需要引用了,使用后期绑定,直接从注册表中可以找到
Set obj = CreateObject("scripting.filesystemobject")
下面的多了一句
Dim obj as filesystemobject
Set obj = CreateObject("scripting.filesystemobject")
下面的多了一句
Dim obj as filesystemobject
#15
其实我的完整的功能是把应用程序所在目录下的Query文件下的INI文件都列出来显示在TreeView控件,当我双击的时候可以对选中的结点的文件名进行修改,并使这个文件名得到确实的修改,谁能帮我写一个差不多的程序呀??????
#16
呵呵,学到很多东西
#17
用固有函数就可以实现:
dim strFiles() as string
dim strTemp as string
dim i as integer
strTemp=Dir(app.path & "\Query\*.ini")
Do Until strTemp=""
redim preserve strFiles(i)
strFile(i)=Left(strTemp, InstrRev(strTemp, ".")-1)
strTemp = Dir
i=i+1
Loop
For i=0 To Ubound(strFiles)
Name strFiles(i) As App.Path & "\Query\File" & format(i+1, "0#") & ".ini" '改名
Next i
dim strFiles() as string
dim strTemp as string
dim i as integer
strTemp=Dir(app.path & "\Query\*.ini")
Do Until strTemp=""
redim preserve strFiles(i)
strFile(i)=Left(strTemp, InstrRev(strTemp, ".")-1)
strTemp = Dir
i=i+1
Loop
For i=0 To Ubound(strFiles)
Name strFiles(i) As App.Path & "\Query\File" & format(i+1, "0#") & ".ini" '改名
Next i
#18
继续顶呀