在VBA中,為了表示字符串,首先我們需要用兩個(gè)引號(hào)把字符串引起來。例如 "abc", VBA編譯器把它解釋為字符串a(chǎn)bc。而當(dāng)您需要表示一個(gè)單引號(hào) " 的時(shí)候,如果只用三個(gè)引號(hào) """,VBA的編譯器會(huì)無法解析辨認(rèn)中間的引號(hào)是一個(gè)正常的字符還是一個(gè)特殊字符(如果是特殊字符,編譯器會(huì)認(rèn)為和左右的兩個(gè)引號(hào)之間有關(guān)系)
為了解決這種情況,VBA中使用轉(zhuǎn)義字符(其他語言中也有這個(gè)概念)對(duì)特殊字符進(jìn)行轉(zhuǎn)義。在 """" 中:第一個(gè)和第四個(gè)引號(hào)高速編譯器中間是字符串,第二個(gè)引號(hào)是一個(gè)轉(zhuǎn)義字符,表示后面的第三個(gè) " 不是一個(gè)特殊字符,而是一個(gè)普通的引號(hào)!所以"""" 經(jīng)過VBA編譯器編譯后的輸出是一個(gè)普通的雙引號(hào) "
實(shí)例代碼:
Private Sub Command0_Click()
Dim xtpf, cxph, fs, d, v As String
Dim str4 As String
xtpf = CurrentProject.Path'當(dāng)前路徑
cxph = Left(xtpf, 3)
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName(cxph)))
v = Hex(d.SerialNumber)
Dim RetVal
str4 = """"
Dim strMDB As String
Shell str4 & SysCmd(acSysCmdAccessDir) & "msaccess.exe" & str4 & " " & str4 & xtpf & "\sjch.mdb" & str4 & " /wrkgrp " & str4 & xtpf & "\sjch.mdg" & str4 & " " & "/User qbc" & " " & "/pwd" & " " & "", 2
End Sub
說明:sjch.mdg是工作組信息文件,其實(shí)就是sjch.mdw,只不過改了后綴而已。
編輯:北京信誠IT保姆IT外包部 http:// www.aboverow.cn www.xcit.com.cn |