2016-03-26 116 views
1

我试图重写一个顺序文件 具体线路例如,如果文件有:写双引号

"1" 
"Kii" 
"Kii" 
"Kii" 
"Kii" 
"2" 
"Troy Martinez" 
"Edoy" 
"Edoy" 
"69" 
"3" 
"Snoop Dogg" 
"Weed" 
"President Troy" 
"420" 

而且我有这样的代码覆盖

Private Sub OverWrite() 
    Dim Count As Integer 

    On Error GoTo ErrSub 

    LineCount = 1 
    Open App.Path & "\Data.txt" For Input As #1 
    Do While Not EOF(1) 
     If LineCount < ((IDCount - 1) * 5) + 1 Or LineCount >= (IDCount * 5) + 1 Then 
      For Count = 0 To 4 
       Input #1, TextTemp 
       FileText = FileText & """ & Text1(Count) & """ & vbCrLf 
       LineCount = LineCount + 1 
      Next Count 
     Else 
      For Count = 0 To 4 
       Input #1, TextTemp 
       FileText = FileText & """ & TextTemp & """ & vbCrLf 
       LineCount = LineCount + 1 
      Next Count 
     End If 
    Loop 
    Close 
    Open App.Path & "\Data.txt" For Output As #1 
    Print #1, FileText 
    Close 
ErrSub: 
    Resume Next 
End Sub 

假设我IDCount是2,文本文件变成

" & Text1(Count) & " 
" & Text1(Count) & " 
" & Text1(Count) & " 
" & Text1(Count) & " 
" & Text1(Count) & " 
" & TextTemp & " 
" & TextTemp & " 
" & TextTemp & " 
" & TextTemp & " 
" & TextTemp & " 
" & Text1(Count) & " 
" & Text1(Count) & " 
" & Text1(Count) & " 
" & Text1(Count) & " 
" & Text1(Count) & " 

我该如何解决这个问题?由于 我很小白

编辑:我的选择显的是

Option Explicit 
    Dim IDCount As Integer 
    Dim LineCount As Integer 
    Dim FileText As String 
    Dim TextTemp 

回答

2

4引号("""")逃单引号(")这样:

FileText = FileText & """" & Text1(Count) & """" & vbCrLf 

chr$(34)也输出"

+0

这里有个小错误,虽然这个例子是正确的:两个引号转义了一个单引号,而不是四个引号。例如,如果路径是“c:\”Microsoft SQL Server“\”,那么'myPath =“c:\”“Microsoft SQL Server”“\”'是正确的。这很容易混淆,因为四个引号是连接单引号的方式。当然,你知道这一点,但我指出了OP的好处。 – BobRodes