使用 VBA 将包含引号的字符串发送到文件
Sending a string that contains quotations to a file with VBA
我正在尝试使用 VBA 构建一个 .jet 文件,但是当我尝试追加时,出现了两个可能的问题。要么它包括所有双引号,包括双双引号,就像您通常在 msgbox 中所做的那样,或者如果我删除双双引号,字符串将无法工作,因为引号的第一个实例终止了字符串。下面是我的代码示例(注意,主子中的 commented/indented 区域是我尝试过但没有成功的各种可能性:
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 文件时。
这是你想要的吗?
我正在尝试使用 VBA 构建一个 .jet 文件,但是当我尝试追加时,出现了两个可能的问题。要么它包括所有双引号,包括双双引号,就像您通常在 msgbox 中所做的那样,或者如果我删除双双引号,字符串将无法工作,因为引号的第一个实例终止了字符串。下面是我的代码示例(注意,主子中的 commented/indented 区域是我尝试过但没有成功的各种可能性:
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 文件时。
这是你想要的吗?