Private Sub Command1_Click()
Dim tmp As String
Dim strFile As String
'第一次查找文本文件
strFile = Dir("C:\temp\*.txt")
Do Until strFile = ""
strFile = "c:\temp\" & strFile
'如果找到,读取文件
Open strFile For Input As #1
tmp = Input(LOF(1), #1)
Close #1
'将读取内容转换成大写
tmp = UCase(tmp)
'写回原文件
Open strFile For Output As #1
Print #1, tmp
Close #1
'查找下一个
strFile = Dir()
Loop
End Sub
Private Sub Command1_Click()
FindFiles Text1.Text, "", ""
End Sub
==========模块代码============
Public Const MAX_PATH = 260
Public Const INVALID_HANDLE_VALUE = -1
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Sub FindFiles(strRootFolder As String, strFolder As String, strFile As String)
Dim lngSearchHandle As Long
Dim udtFindData As WIN32_FIND_DATA
Dim strTemp As String, lngRet As Long
'检测文件夹是否有 \
If Right$(strRootFolder, 1) <> "\" Then strRootFolder = strRootFolder & "\"
'给出第一个文件句柄
lngSearchHandle = FindFirstFile(strRootFolder & "*", udtFindData)
'如果无效时退出
If lngSearchHandle = INVALID_HANDLE_VALUE Then Exit Sub
lngRet = 1
Do While lngRet <> 0
'去掉空格
strTemp = TrimNulls(udtFindData.cFileName)
If (udtFindData.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY Then
Else
'为文件时
If Right(strTemp, 3) = "txt" Then
Call convert(Form1.Text1.Text & "\" & strTemp)
End If
End If
'给出下一个文件或目录句柄
lngRet = FindNextFile(lngSearchHandle, udtFindData)
Loop
Call FindClose(lngSearchHandle)
End Sub
Public Function TrimNulls(strString As String) As String
Dim l As Long
l = InStr(1, strString, Chr(0))
If l = 1 Then
TrimNulls = ""
ElseIf l > 0 Then
TrimNulls = Left$(strString, l - 1)
Else
TrimNulls = strString
End If
End Function
Public Sub convert(path As String)
Dim tmp() As Byte
Open path For Binary As #1
ReDim tmp(LOF(1))
Get #1, , tmp
Close #1
tmp = UCase(tmp)
Open path For Binary As #1
Put #1, , tmp
Close #1
End Sub
Do Until strFile = ""
'如果找到,读取文件
open strFile for input as #1
tmp = input(LOF(1), #1)
close #1
'将读取内容转换成大写
tmp = Ucase(tmp)
'写回原文件
open strFile for output as #1
print #1, tmp
close #1
'查找下一个
strFile = Dir()
Loop
Dim tmp() As Byte
Open "C:\a.txt" For Binary As #1
ReDim tmp(LOF(1))
Get #1, , tmp
Close #1
tmp = LCase(tmp)
Open "C:\a.txt" For Binary As #1
Put #1, , tmp
Close #1
dim tmp as string
open "C:\my documents\test.txt" for input as #1
tmp = input(LOF(1), #1)
close #1
tmp = Ucase(tmp)
open "C:\my documents\test.txt" for output as #1
print #1, tmp
close #1