vba遇到转义字符时的更新替换

EXCEL导入文件入ACCESS系统,遇到一列数据完全无法导入,经过测试原因在于明明是表示地名的一列数据导入进ACCESS时候自动转换为了DATE/TIME格式,所以导入的文字便无法显示,可以手动在ACCESS更改字段类型也可以现在EXCEL表把那一列改为text格式即可导入。

 

同样是导入,那一列都是字符串,导入进之后有的前面出现了单引号有的没有单引号,这在判断的时候出现了麻烦。

一开始使用update把那一列都更新为replace(字符串,‘'’,’’),但是都无法替换掉单引号。

后来改成了replace(字符串,chr(34),’’)还是不行。

搜了好久之后发现记错了,把34改成39就成功了,下述可以作为其他特殊/转义字符的参考。

 

 

mystring=replace(mystring,chr(39),"´") '替换单引号

mystring=replace(mystring,chr(34),""")    '替换双引号

mystring=replace(mystring,"<","<")    '替换<

mystring=replace(mystring,">",">")    '替换>

mystring=replace(mystring,chr(13),"
") '替换回车符

mystring=replace(mystring,chr(32)," ") '替换空格符

mystring=replace(mystring,chr(9),"       ") '替换tab符

 

这个在写sql语句的时候也有用处。

 

今天还学习到可以定时自动打开excel到16号或者30号的时候才会触发某些提醒操作。

例子:

if day(now)=16 or day(now)=30 then
    call 宏
end if

 


你可能感兴趣的:(vba)