replacestring中的奇怪或特殊字符

我试图将Excel文件转换为SQL查询。 我的问题是,我给的文件中有特殊字符。 我不能取代他们CTRL + H,因为他们根本不显示在Excel文件中。 当我写我的查询(无论是在UTF8或ANSI),他们显示。 使用Ultra-Edit时,它们显示为HEX C2 92.使用utf8中的Notepad ++,它们显示为PU2。 在ANSI中,它们显示为'。 我怀疑这是一个撇号。 顺便说一下,这是一个法国文件。

到目前为止,我试图把它放在一个string,做这些操作,但没有任何工作。

Dim Line as String Line = Wb.Worksheets(1).Cells(LineNo, ColNo) Line = Replace(Line, "Â'", "''") Line = Replace(Line, "'", "''") Line = Replace(Line, "Â", "''") Line = Replace(Line, Chr(194) & Chr(146), "''") 'decimal value of C2 92 Line = Replace(Line, Chr(146) & Chr(194), "''") 'inverted decimal value of C2 92 

谢谢!

不要试图消除各种垃圾人物,而应该把注意力放在只保留好垃圾人物上。 假设我们知道有效的字符是大写和小写字母,数字和下划线。 这段代码将只保留好的代码:

 Public Function KeepOnlyGood(s As String) As String Dim CH As String, L As Long, i As Long KeepOnlyGood = "" L = Len(s) For i = 1 To L CH = Mid(s, i, 1) If CH Like "[0-9a-zA-Z]" Or CH = "_" Then KeepOnlyGood = KeepOnlyGood & CH End If Next i End Function 

在这里输入图像说明

如果你想用空格replace垃圾,可以修改代码来做到这一点。