Option Explicit Main Sub Main Const ForReading = 1 dim FileName Dim Path Path = "save/*.*" ' list current directory Dim a a = ListDir(Path) If UBound(a) = -1 then WScript.Echo "No files found." Exit Sub End If For Each FileName In a MsgBox(FileName) dim objFSO, objFile, objDictionary, i, strNextLine, strLine, rtfText rtftext = "" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDictionary = CreateObject("Scripting.Dictionary") Set objFile = objFSO.OpenTextFile (FileName, ForReading) i = 0 Do Until objFile.AtEndOfStream strNextLine = objFile.Readline If strNextLine <> "" Then objDictionary.Add i, strNextLine End If i = i + 1 Loop objFile.Close 'Then you can iterate it like this For Each strLine in objDictionary.Items rtftext = rtftext&strLine Next MsgBox(rtftext) SET objFile = Nothing SET objFSO = Nothing SET objDictionary = Nothing 'Function GetVersion Dim XLApp Set XLApp = CreateObject("EasyByte.RTF2HTMLv8") XLApp.LicenseKey = "DEMO" XLApp.HTML_Colour = "white" XLApp.HTML_Title = "RTF-2-HTML v8" XLApp.RTF_Text = rtftext XLApp.Generator = "RTF-2-HTML v8" XLApp.CleanRTF = "yes" XLApp.Links = "yes" dim converted converted = XLApp.ConvertRTFPlain() dim realfs, rf realfs = StrReverse(FileName) rf = Split(realfs, "\", -1) realfs = StrReverse(rf(0)) 'MsgBox(realfs) 'Open up the path to save the information into a text file Dim myFSO, WriteStuff Set myFSO = CreateObject("Scripting.FileSystemObject") Set WriteStuff = myFSO.OpenTextFile("conv\"&realfs, 8, True) WriteStuff.WriteLine(converted) WriteStuff.Close SET WriteStuff = NOTHING SET myFSO = NOTHING SET XLApp = NOTHING SET converted = NOTHING SET rtftext = NOTHING Next End Sub Public Function ListDir (ByVal Path) Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") If Path = "" then Path = "*.*" Dim Parent, Filter if fso.FolderExists(Path) then ' Path is a directory Parent = Path Filter = "*" Else Parent = fso.GetParentFolderName(Path) If Parent = "" Then If Right(Path,1) = ":" Then Parent = Path: Else Parent = "." Filter = fso.GetFileName(Path) If Filter = "" Then Filter = "*" End If ReDim a(10) Dim n: n = 0 Dim Folder: Set Folder = fso.GetFolder(Parent) Dim Files: Set Files = Folder.Files Dim File For Each File In Files If CompareFileName(File.Name,Filter) Then If n > UBound(a) Then ReDim Preserve a(n*2) a(n) = File.Path n = n + 1 End If Next ReDim Preserve a(n-1) ListDir = a End Function Private Function CompareFileName (ByVal Name, ByVal Filter) ' (recursive) CompareFileName = False Dim np, fp: np = 1: fp = 1 Do If fp > Len(Filter) Then CompareFileName = np > len(name): Exit Function If Mid(Filter,fp) = ".*" Then ' special case: ".*" at end of filter If np > Len(Name) Then CompareFileName = True: Exit Function End If If Mid(Filter,fp) = "." Then ' special case: "." at end of filter CompareFileName = np > Len(Name): Exit Function End If Dim fc: fc = Mid(Filter,fp,1): fp = fp + 1 Select Case fc Case "*" CompareFileName = CompareFileName2(name,np,filter,fp) Exit Function Case "?" If np <= Len(Name) And Mid(Name,np,1) <> "." Then np = np + 1 Case Else If np > Len(Name) Then Exit Function Dim nc: nc = Mid(Name,np,1): np = np + 1 If Strcomp(fc,nc,vbTextCompare)<>0 Then Exit Function End Select Loop End Function Private Function CompareFileName2 (ByVal Name, ByVal np0, ByVal Filter, ByVal fp0) Dim fp: fp = fp0 Dim fc2 Do ' skip over "*" and "?" characters in filter If fp > Len(Filter) Then CompareFileName2 = True: Exit Function fc2 = Mid(Filter,fp,1): fp = fp + 1 If fc2 <> "*" And fc2 <> "?" Then Exit Do Loop If fc2 = "." Then If Mid(Filter,fp) = "*" Then ' special case: ".*" at end of filter CompareFileName2 = True: Exit Function End If If fp > Len(Filter) Then ' special case: "." at end of filter CompareFileName2 = InStr(np0,Name,".") = 0: Exit Function End If End If Dim np For np = np0 To Len(Name) Dim nc: nc = Mid(Name,np,1) If StrComp(fc2,nc,vbTextCompare)=0 Then If CompareFileName(Mid(Name,np+1),Mid(Filter,fp)) Then CompareFileName2 = True: Exit Function End If End If Next CompareFileName2 = False End Function