问题描述
我试图使用VBA构建.jet文件,但是当我尝试追加时,出现两个可能的问题。它要么包含所有双引号,包括像您通常在msgBox中一样的双双引号,要么如果我删除双双引号,则该字符串将无法工作,因为双引号的第一个实例终止了该字符串。下面是我的代码示例(请注意,main子句中的注释/缩进区域是我尝试过但未成功的各种可能性:
Sheets("Sheet1").Range("A1").Select
Dim MyStr As String
'MyStr = "{" & Chr(34) & "myid" & Chr(34) & ":345," & Chr(34) & "content" & Chr(34) & ":["
'MyStr = "{""myid"":345,""content"":["
'appendToFile ("{""myid"":345,""content"":[")
'appendToFile (MyStr)
End Sub
Sub appendToFile(MyStr As String)
Dim fileName As String
fileName = "MyFile.jet"
Open Application.ActiveWorkbook.Path & "\" & fileName For Append As #1
Write #1,MyStr
Close #1
End Sub
解决方法
如果您想避免多余的引号出现在.jet
中,可以使用append
语句而非Print #
语句Write #
。
与Print #
语句不同,Write #
语句在将项目和写入字符串的引号之间插入逗号。
例如,此代码:
Option Explicit
Sub ject()
Dim MyStr As String
MyStr = "{" & Chr(34) & "myid" & Chr(34) & ":345," & Chr(34) & "content" & Chr(34) & ":["
appendToFile (MyStr)
End Sub
Sub appendToFile(MyStr As String)
Dim fileName As String
fileName = "MyFile.jet"
Open Application.ActiveWorkbook.path & "\" & fileName For Append As #1
Print #1,Close #1
End Sub
将导致:
{"myid":345,"content":[
使用文本编辑器打开.jet文件时。
这就是你想要的吗?