Vba 停止Access将两组双引号写入csv

Vba 停止Access将两组双引号写入csv,vba,csv,ms-access,Vba,Csv,Ms Access,因此,我使用记录集的输出并将其写入csv文件。但我有一个引号的问题。理想情况下,我希望将它们作为文本标记。但是如果我把它们包括在我的文本行中,它们会被打印成两组引号 我希望将其作为输出(由制表符分隔): “Header1”“header2”“headerX” 我试过这个 Sub Write_Tbl(Filename, StrSQL) Dim unicode, UTF, i As Long , Fileout As Object, forwriting, TristateUseDefault,

因此,我使用记录集的输出并将其写入csv文件。但我有一个引号的问题。理想情况下,我希望将它们作为文本标记。但是如果我把它们包括在我的文本行中,它们会被打印成两组引号

我希望将其作为输出(由制表符分隔):

“Header1”“header2”“headerX”

我试过这个

Sub Write_Tbl(Filename, StrSQL)
Dim unicode, UTF, i As Long , Fileout As Object, forwriting,  TristateUseDefault, TxtStr As String, TextHolder As String, rs As Recordset

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

Dim File_out As Object
Set File_out = fso.CreateTextFile(Filename, True, unicode = UTF - 8)
File_out.Close

Open Filename For Output As #1

Set rs = CurrentDb.OpenRecordset(StrSQL)
rs.MoveFirst

'for headers
    TxtStr = rs.Fields.Item(0).Name         'so that there isn't a tab at the start of the string

For i = 1 To rs.Fields.Count - 1

TxtStr = TxtStr & chr(34) & vbTab & chr(34) & rs.Fields.Item(i).Name
Next i

Write #1, TxtStr & chr(34)          'write headers to file
把这个作为输出

“Header1”“header2”“…[]..”“headerX”

所以我去掉了引号,得到了这个:

'for headers
    TxtStr = rs.Fields.Item(0).Name         'so that there isn't a tab at the start of the string

For i = 1 To rs.Fields.Count - 1

TxtStr = TxtStr & vbTab & rs.Fields.Item(i).Name
Next i

Write #1, TxtStr          'write headers to file
我得到的是

“Header1 header2……[]..headerX”


如果我在“局部变量”窗口中监视变量,则只有一组引号,因此这一定与打印有关?如果我使用单引号(ascii no 39),则不会发生这种情况。我也尝试过只使用write to file,而不是作为文本流,但我遇到了内存问题并被难倒。请帮助。

如果您已经用VBA准备好了文本字符串,您应该使用
Print
语句,而不是
write

文档:vs

Print#语句不同,Write#语句在写入文件时在项目之间和字符串周围的引号之间插入逗号

注:

我不确定这些函数是否编写Unicode,或者是否关心文件是如何创建的

Open Filename For Output As #1
如果文件不存在,将创建该文件,因此您可能可以省略整个
CreateTextFile
部分

或者使用
File\u out.WriteLine()
来代替,混合使用这两种方法(FSO和古老的打印/写入语句)似乎很奇怪


编辑:请参见另一个注释,这样做:Dim unicode,UTF,i As Long将仅Dim i As Long,其他作为变体,您需要:'Dim unicode As Long,UTF As Long,i As Long'谢谢,实际上我是有意这么做的,但在很长一段时间内,我不知道它是这样工作的,这是一个极好的且广泛未被记录的观点谢谢,这真的很有帮助。