Replace VB脚本-从csv文件中删除特殊字符

Replace VB脚本-从csv文件中删除特殊字符,replace,vbscript,special-characters,Replace,Vbscript,Special Characters,在我的输入csv文件中,我可能在文件的任何地方都有以下特殊字符。我必须用一些替代文本替换下面的特殊字符。如何在vb脚本中执行此操作 ®³·•½×Ε–∞∞ ‘“ ≤≥ • 我们可以迭代CSV文件的每个单元格,在每个单元格中验证每个字节,并根据您的要求将其与Ascii值进行比较,如果该字节的Ascii值不在我们期望的值范围内,我们可以用您需要的任何文本替换它。下面的示例代码 Workbooks.Open("Your CSV file") for k = 1 to Activeworkbook.She

在我的输入csv文件中,我可能在文件的任何地方都有以下特殊字符。我必须用一些替代文本替换下面的特殊字符。如何在vb脚本中执行此操作

®³·•½×Ε–∞∞ ‘“ ≤≥ •


我们可以迭代CSV文件的每个单元格,在每个单元格中验证每个字节,并根据您的要求将其与Ascii值进行比较,如果该字节的Ascii值不在我们期望的值范围内,我们可以用您需要的任何文本替换它。下面的示例代码

Workbooks.Open("Your CSV file")
for k = 1 to Activeworkbook.Sheets(1).usedrange.rows.count

for j= 1 to Activeworkbook.Sheets(1).usedrange.columns.count
value=Activeworkbook.sheets(1).cells(k,j)
newvalue=""
for i=1 to len(value)-1

temp=mid(value,i,1)
if (Asc(temp)<127 and Asc(temp)>31 )then ' i am just assuming only the values on keyboard should be included any other conditions required for your requirement can be implied here

newvalue=newvalue & temp

else

newvalue=newvalue &"required text"
endif

next

activeworkbook.sheets(1).cells(k,j)=newvalue

next
next
工作簿。打开(“您的CSV文件”)
对于k=1的Activeworkbook.Sheets(1.usedrange.rows.count
对于j=1到Activeworkbook.Sheets(1).usedrange.columns.count
value=Activeworkbook.sheets(1).单元格(k,j)
newvalue=“”
对于i=1到len(值)-1
温度=中间值(值,i,1)
如果是(Asc(temp)31),那么“我只是假设键盘上的值应该包括在内,这里可以暗示您的要求所需的任何其他条件
newvalue=newvalue和temp
其他的
newvalue=newvalue&“所需文本”
恩迪夫
下一个
activeworkbook.sheets(1).单元格(k,j)=newvalue
下一个
下一个

阅读并遵循嘿,脚本编写人!Blog:。然后,如果您遇到问题,请提问并显示您的代码。编写csv文件时使用的字符编码是什么?(所有文本都有一个编码。如果您不知道它是什么,则无法正确阅读。)VB脚本与UTF-16自然兼容,但可以使用默认的ANSI代码页进行转换。默认的ANSI代码页是几十种编码之一,随着时间、用户和系统的变化而变化,因此通信非常复杂。注意:令人困惑的是,UTF-16在VB脚本文档和其他地方被称为Unicode。这将是VBA,而不是VB脚本。Tho呃,在Excel中工作会更有效率。也许提问者会把工作转移到那里。