Sub Checkfile()
Dim FSO As New FileSystemObject
Dim fsoFile As File
'Open an XML file to search for illegal characters
Set SourceFile = FSO.OpenTextFile("C:\TestWithInvalidCharcter.xml")
'Create a new XML file that would not contain new xml file
FSO.CreateTextFile ("C:\Test.xml")
fnum = FreeFile()
Open "C:\Test.xml" For Append As fnum
Do While Not SourceFile.AtEndOfStream
'replace any ascii code 240 with whitespace and print to the file
Print #fnum, TestRegExp("\240 040", SourceFile.ReadLine)
'replace any ascii code 040 with white space and print to the file
Print #fnum, TestRegExp("\040", SourceFile.ReadLine)
Loop
Close fnum
End Sub
Function TestRegExp(myPattern As String, myString As String)
'Create objects.
Dim objRegExp As RegExp
Dim objMatch As Match
Dim colMatches As MatchCollection
Dim RetStr As String
' Create a regular expression object.
Set objRegExp = New RegExp
'Set the pattern by using the Pattern property.
objRegExp.Pattern = myPattern
' Set Case Insensitivity.
objRegExp.IgnoreCase = True
'Set global applicability.
objRegExp.Global = True
'Test whether the String can be compared.
If (objRegExp.Test(myString) = True) Then
'Get the matches.
Set colMatches = objRegExp.Execute(myString) ' Execute search.
For Each objMatch In colMatches ' Iterate Matches collection.
RetStr = objRegExp.Replace(myString, " ")
Next
Else
RetStr = myString
End If
TestRegExp = RetStr
End Function
Do more with
Print #fnum, TestRegExp("\240|\040", SourceFile.ReadLine)
Premium Content
You need an Expert Office subscription to comment.Start Free Trial