Office中国论坛/Access中国论坛

标题: 【新手入门】之二十八:浅谈“转义字符”——从双引号谈起 [打印本页]

作者: roych    时间: 2020-10-17 23:55
标题: 【新手入门】之二十八:浅谈“转义字符”——从双引号谈起
其实,VBA里是没有“转义字符”这个说法的,但我仍然倾向于这么称呼它。我们先来看看这个:
  1. Sub test()
  2.     Dim str As String
  3.     str = ""
  4.     Debug.Print str
  5. End Sub
复制代码
打开立即窗体,我们是看不到任何提示的。因为这是一个空字符串。如果我们想要一个双引号,怎么办?这时候可能有童鞋举手了:“我知道,我知道,把双引号改成单引号就好了。”
  1. Sub test()
  2.     Dim str As String
  3.     str = "'"
  4.     Debug.Print str
  5. End Sub
复制代码
这个变通的处理方式确实可以解决大部分问题。但我还是想说一句,我要的是双引号,而不是单引号。这时候可能有人会问了,把单引号改成双引号行不行?听起来似乎可行,但实际上。。。。无法行得通。因为双引号是成对出现的。因此不存在:
  1. Sub test()
  2.     Dim str As String
  3.     str = """
  4.     Debug.Print str
  5. End Sub
复制代码
事实上,当你输入一个双引号时,系统会给你自动补全成一对。也就是这个样子:
  1. Sub test()
  2.     Dim str As String
  3.     str = """"
  4.     Debug.Print str
  5. End Sub
复制代码
这时候,我们可以把第一个双引号是起始,第二个视为转义字符,第三个是要显示的字符,第四个是结束。很难理解,是么?我们看下一个例子:
  1. Sub test()
  2.     Dim str As String
  3.     str = "这时候他说:""我就是一朵梨花压海棠?玉树临风胜潘安,一树梨bai花压海棠的小淫虫周伯通。""。"
  4.     Debug.Print str
  5. End Sub
复制代码
[attach]63911[/attach]
是不是安排得明明白白了?最后,我们来实战一下:
WinRAR解压带密码的文件命令行语法是这样的,我们可以用shell命令来执行它【注意参数之间的空格,为避免出错,建议复制后再处理。】:
WinRAR路径 x -p密码 -o+压缩包路径 *.* 解压后文件夹
但对于解压包文件和解压后文件夹需要加上双引号,例如:
  1. Shell C:\Program Files\WinRAR\WinRAR.exe x -pvAwLWg -o+ "E:\testDocument\database\京东运营日报\京东运营日报\淘米优vAwLWg.zip" *.* "E:\testDocument\database\京东运营日报\京东运营日报", vbHide
复制代码

假定,WinRAR路径为strWinRARPath,zip路径为strZipPath,解压后的文件夹为strZippedFold,解压密码为strPassword。请写出对应的语法:

赶紧回复下,看看你有没有写对?
另一个案例,也可以参考几天前的帖子:
http://www.office-cn.net/thread-126528-1-1.html
如果觉得不过瘾,还可以参考:
【Access小品】斗天斗地斗引号---Rar压缩及解压文件示例
以下为早期的新手入门系列:
更早之前的系列帖子




作者: tmtony    时间: 2020-10-18 00:03
谢谢分享,先抢个沙发
作者: 灰太郎    时间: 2020-10-19 14:56
1111
作者: accben    时间: 2020-10-20 16:22
以前遇到过这种困惑,温习一下,谢谢分享!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3