停止VBA宏向excel行数据添加额外的双引号
我有一个VBA宏,可以将excel行保存到.svg。除了在svg文档中添加了一个额外的双引号外,该代码似乎工作得很好。这是我正在使用的VBA宏:停止VBA宏向excel行数据添加额外的双引号,excel,vba,Excel,Vba,我有一个VBA宏,可以将excel行保存到.svg。除了在svg文档中添加了一个额外的双引号外,该代码似乎工作得很好。这是我正在使用的VBA宏: Sub SaveRowsAsSVGs() Dim wb As Excel.Workbook, wbNew As Excel.Workbook Dim wsSource As Excel.Worksheet, wsTemp As Excel.Worksheet Dim r As Long, c As Long Set wsSource = ThisWo
Sub SaveRowsAsSVGs()
Dim wb As Excel.Workbook, wbNew As Excel.Workbook
Dim wsSource As Excel.Worksheet, wsTemp As Excel.Worksheet
Dim r As Long, c As Long
Set wsSource = ThisWorkbook.Worksheets("Images")
Application.DisplayAlerts = False 'will overwrite existing files without asking
Application.ScreenUpdating = False
r = 1
Do Until Len(Trim(wsSource.Cells(r, 1).Value)) = 0
ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(1)
Set wsTemp = ThisWorkbook.Worksheets(1)
For c = 2 To 7
wsTemp.Cells((c - 1) * 2 - 1, 1).Value = wsSource.Cells(r, c).Value
Next c
wsTemp.Move
Set wbNew = ActiveWorkbook
Set wsTemp = wbNew.Worksheets(1)
Dim myPath As String
myPath = "C:\Users\myname\Desktop\MJOMBA\Images\"
wbNew.SaveAs myPath & wsSource.Cells(r, 1).Value & ".svg", xlCSV
'wbNew.SaveAs "cell.Text" & r & ".svg", xlCSV 'new way
wbNew.Close
ThisWorkbook.Activate
r = r + 1
Loop
Application.DisplayAlerts = False
End Sub
下面是一个示例.svg代码(用于演示)
这段.svg代码
<?xml version="1.0" encoding="iso-8859-1"?>
变成
<?xml version=""1.0"" encoding=""iso-8859-1""?>
这不是预期的行为。我怎样才能避免这个问题?对我来说似乎是个难题。为什么要使用“另存为csv”函数来创建svg文件?您不能直接在所需文件中输入正确的值吗?无论如何,您明确要求使用双引号,即“另存为xlCSV”。使用文本格式(xlTextWindows或xlUnicodeText)可能会更好。即使使用两种建议的格式(xlTextWindows或xlUnicodeText)中的任何一种替换xlCSV,也不会发生任何情况。请尝试xlTextPrinter