【问题标题】:stop excel adding extra quotes停止excel添加额外的引号
【发布时间】:2019-01-19 10:20:29
【问题描述】:

在 excel 中,我想以 CSV 格式保存这 2 个单元格: abc,“定义”

excel 添加了额外的引号,所以我得到:abc, """def"""

预期结果:abc, "def" 什么是最简单的方法(我不想在之后运行“替换”或任何宏。我正在寻找一步自动解决方案)。

【问题讨论】:

    标签: excel


    【解决方案1】:

    也许你应该使用 vba.This

    这是一个轻微的修改。

    Sub ExportSheetsToCSV()
    
        Dim Ws As Worksheet
        Dim xcsvFile As String
        Dim rngDB As Range
    
        Set Ws = ActiveSheet
            xcsvFile = CurDir & "\" & Ws.Name & ".csv"
            With Ws
                r = .Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
                c = .Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
                Set rngDB = .Range("a1", .Cells(r, c))
            End With
            TransToCSV xcsvFile, rngDB
    
        MsgBox ("Files Saved Successfully")
    End Sub
    
    Sub TransToCSV(myfile As String, rng As Range)
    
        Dim vDB, vR() As String, vTxt()
        Dim i As Long, n As Long, j As Integer
        Dim objStream
        Dim strTxt As String
    
        Set objStream = CreateObject("ADODB.Stream")
        vDB = rng
        For i = 1 To UBound(vDB, 1)
            n = n + 1
            ReDim vR(1 To UBound(vDB, 2))
            For j = 1 To UBound(vDB, 2)
                vR(j) = vDB(i, j)
            Next j
            ReDim Preserve vTxt(1 To n)
            vTxt(n) = Join(vR, ",")
        Next i
        strTxt = Join(vTxt, vbCrLf)
        With objStream
            '.Charset = "utf-8"
            .Open
            .WriteText strTxt
            .SaveToFile myfile, 2
            .Close
        End With
        Set objStream = Nothing
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2017-02-27
      • 2014-08-03
      • 2020-11-16
      • 2016-09-05
      • 2015-09-10
      • 2014-09-19
      • 2012-08-20
      • 2014-10-04
      相关资源
      最近更新 更多