从Excel(VBA)导出.txt文件中的三个引号

时间:2017-03-17 09:22:19

标签: excel vba excel-vba

我有以下问题: 为了将工作表保存在.txt文件中,我写了这个子:

Sub SaveFile()

Dim ans As Long
Dim sSaveAsFilePath As String
Dim VPname As String

VPname = Worksheets(3).Cells(2, 1)

    On Error GoTo ErrHandler:

    sSaveAsFilePath = ActiveWorkbook.Path & "\" & VPname & ".txt"

    If Dir(sSaveAsFilePath) <> "" Then
        ans = MsgBox("Datei " & sSaveAsFilePath & " existiert bereits.  Überschreiben?", vbYesNo + vbExclamation)
        If ans <> vbYes Then
            Exit Sub
        Else
            Kill sSaveAsFilePath
        End If
    End If
    Worksheets(3).Copy '//Copy sheet 3 to new workbook
    ActiveWorkbook.SaveAs sSaveAsFilePath, xlTextWindows '//Save as text (tab delimited) file
    If ActiveWorkbook.name <> ThisWorkbook.name Then '//Double sure we don't close this workbook
        ActiveWorkbook.Close False
    End If
MsgBox ("Worksheet wurde erfolgreich als txt-Datei gespeichert!")
My_Exit:
Exit Sub

ErrHandler:
MsgBox Err.Description
Resume My_Exit

End Sub

在此工作表中,具有文本内容的单元格必须带引号(例如“example”)。当我打开.txt文件时,所有这些都有三个引号而不是一个(“”“示例”“”)。 你知道怎么解决这个问题吗? 非常感谢:)

1 个答案:

答案 0 :(得分:1)

欢迎使用stackoverflow!提出一个可由其他人复制的小问题非常有用 - 请在此处阅读更多内容 - https://stackoverflow.com/help/mcve因此,您也可以轻松搜索。

在您的情况下,最小且可验证的示例如下:

Option Explicit

Public Sub TestMe()

    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\new1.txt", _
    FileFormat:=xlTextWindows

End Sub

然后,如果你使用搜索引擎,你会发现它已经有了一些答案:

Saving a Excel File into .txt format without quotes

:)