Teklink Systems
Toll Free: 888.475.9277
Contact us by Email
   

Change the Extension of Files in a Specified Folder

Keywords: VB6 Visual Basic
Date Entered: 5/3/2007
Categories: Visual Basic 6
Applies To: 


This function will allow you to change the extension of files within a specified folder. You can either change the name of all files, or files with a specified extension. A reference to the Scripting Runtime is required. See code comments for details and example.

Public Function ChangeExtension(ByVal FolderName As String, _
ByVal NewExtension As String, Optional ByVal OldExtension As _
String = "") As Boolean

Dim oFso As New FileSystemObject
Dim oFolder As Folder
Dim oFile As File
Dim sOldName As String
Dim sNewName As String
Dim iCtr As Long
Dim iDotPosition As Integer
Dim sWithoutExt As String
Dim sFolderName As String

sFolderName = FolderName
If Right(sFolderName, 1) <> "\" Then sFolderName = _
sFolderName & "\"
Set oFolder = oFso.GetFolder(FolderName)
For Each oFile In oFolder.Files

sOldName = sFolderName & oFile.Name
sNewName = ""
iDotPosition = InStrRev(sOldName, ".")
If iDotPosition > 0 Then
If OldExtension = "" Or UCase(Mid(sOldName, _
iDotPosition + 1)) = UCase(OldExtension) Then

sWithoutExt = Left(sOldName, iDotPosition - 1)
sNewName = sWithoutExt & "." & NewExtension

On Error Resume Next ''file may already exist
''if you don''t want to let
''this slide, remove this
''line
Name sOldName As sNewName
Err.Clear
On Error GoTo ErrorHandler
End If
End If
Next
ChangeExtension = True
ErrorHandler:
Set oFile = Nothing
Set oFolder = Nothing
Set oFso = Nothing

Support Home Admin Login
246 articles
Home | Services | Support | About Us | Contact Us | Privacy Policy | Disclaimer

Service Areas

Los Angeles Area - West Side, Downtown, Hollywood, West Hollywood, Culver City, Beverly Hills, Belair, Santa Monica
San Fernando Valley Area - Sherman Oaks, Studio City, Encino, Tarzana, Woodland Hills, Van Nuys, North Ridge, Canoga Park, Calabasas, Valley Village
Burbank, Glendale, Pasadena Area - Burbank, Glendale, Pasadena, La Crescenta, Tujunga, At Water, Alhambra
Ventura County Area - Thousand Oaks, Westlake Village, Oak Park, Ventura, Agoura Hills