String 处理字符串中的特殊字符
我正在下载一些文件,这些文件有时有一些中文字符,显然String 处理字符串中的特殊字符,string,vba,excel,character,special-characters,String,Vba,Excel,Character,Special Characters,我正在下载一些文件,这些文件有时有一些中文字符,显然String无法识别它们 关于如何告诉VBA以下内容的任何想法: 如果文件名中有一些未知字符,则删除它们,并仅保留文件名的第一部分,其中包含正常字符 实际上,这些特殊字符中的每一个都将被替换为“?” 但问题是Msgbox-AttachmentName将返回0,即使Msgbox-AttachmentName将显示一些“?” 我做了以下操作,但正如我上面所说的,“?”显示在MsgBox上,但并不真实,因此它永远不满足条件 If InStr(1, A
String
无法识别它们
关于如何告诉VBA以下内容的任何想法:
如果文件名中有一些未知字符,则删除它们,并仅保留文件名的第一部分,其中包含正常字符
实际上,这些特殊字符中的每一个都将被替换为“?”
但问题是Msgbox-AttachmentName
将返回0,即使Msgbox-AttachmentName
将显示一些“?”
我做了以下操作,但正如我上面所说的,“?”显示在MsgBox
上,但并不真实,因此它永远不满足条件
If InStr(1, AttachmentName, "?") <> 0 Then
AttachmentName = Mid(AttachmentName, 1, InStr(1, AttachmentName, "?") - 1) & "unknown characters "
End If
如果InStr(1,附件名称“?”)为0,则
AttachmentName=Mid(AttachmentName,1,InStr(1,AttachmentName,“?”)-1)和“未知字符”
如果结束
此子项删除字符串中的所有汉字
Private Sub RemoveChinese()
Dim Fun As String
Dim Txt As String
Dim Ch As String
Dim n As Integer
Txt = Selection.Text
For n = 1 To Len(Txt)
Ch = Mid(Txt, n, 1)
If Asc(Ch) = AscW(Ch) Then Fun = Fun & Ch
Next n
MsgBox Fun
End Sub
关键是汉字用2个字节表示,而拉丁字符只需要一个字节。您必须在计算机上安装中文支持,才能实际描述它们。因此,为无法识别的字符插入了
?
。此子项将删除字符串中的所有汉字
Private Sub RemoveChinese()
Dim Fun As String
Dim Txt As String
Dim Ch As String
Dim n As Integer
Txt = Selection.Text
For n = 1 To Len(Txt)
Ch = Mid(Txt, n, 1)
If Asc(Ch) = AscW(Ch) Then Fun = Fun & Ch
Next n
MsgBox Fun
End Sub
关键是汉字用2个字节表示,而拉丁字符只需要一个字节。您必须在计算机上安装中文支持,才能实际描述它们。因此,为无法识别的字符插入了
?
。我建议让变量名更具描述性,特别是在将来有人遇到此问题时。即使知道您在做什么,也很难遵循示例的逻辑,因为读者从Ch
fromTxt
(就他们的目的而言)中不知道Fun
。我建议您的变量名更具描述性,特别是在将来有人遇到此问题的情况下。即使知道您在做什么,也很难遵循示例的逻辑,因为读者不知道Ch
fromTxt
(就他们的目的而言)。