删除XML文件中的多余引号

安迪

我正在制作一个快速而肮脏的XML生成器。下面的代码很好用,但是当我打开它时,它带有附加的双引号,即<“ something”>会变成“ <”“ something”“>。下面的代码有办法删除它们吗? xlTextPrinter,因为某些单元格的字符数超过255个,我们将不胜感激!

Sub test()
    Dim Desktop As String
    Dim FileName As String
    Desktop = CreateObject("Wscript.Shell").Specialfolders("Desktop")
    With ActiveSheet
        FileName = .Range("B1").Value
        .Range("H2:K33").Copy
        Workbooks.Add
        ActiveWorkbook.Sheets(1).Range("A1").PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End With
    With ActiveWorkbook
        .SaveAs FileName:=Desktop & Application.PathSeparator & FileName  _
            , FileFormat:=xlTextMSDOS, CreateBackup:=False
        .Close SaveChanges:=False
    End With
End Sub
扎伊德

由于excel在导出为文本时在某些情况下会在文件中添加引号,因此您有两种选择。

Chr(9) 是标签

Chr(34) 是报价

vbCrLf 是换行符

除了保存文件,您还可以直接将其写为文本:

Dim Desktop As String
Dim FileName As String
Dim fs As Object
Dim f As Object
Dim i As Integer

Set fs = CreateObject("Scripting.FileSystemObject")

Desktop = CreateObject("Wscript.Shell").Specialfolders("Desktop")
With ActiveSheet
    FileName = Desktop & Application.PathSeparator & .Range("B1").Value
    Set f = fs.createTextFile(FileName & ".txt", True, False)

    For i = 2 To 33
        f.write (.Cells(i, 8) & Chr(9) & .Cells(i, 9) & Chr(9) & .Cells(i, 10) & Chr(9) & .Cells(i, 11) & vbCrLf)
    Next

    f.Close
    Set f = Nothing
    Set fs = Nothing
End With

或者像Siddarth Rout建议的那样,您可以在创建文件后打开文件并替换其添加的其他引号:

Dim Desktop As String
Dim FileName As String
Desktop = CreateObject("Wscript.Shell").Specialfolders("Desktop")
With ActiveSheet
    FileName = Desktop & Application.PathSeparator & .Range("B1").Value
    .Range("H2:K33").Copy
    Workbooks.Add
    ActiveWorkbook.Sheets(1).Range("A1").PasteSpecial xlPasteValues
    Application.CutCopyMode = False
End With
With ActiveWorkbook
    .SaveAs FileName:=FileName _
        , FileFormat:=xlTextMSDOS, CreateBackup:=False
    .Close SaveChanges:=False
End With

Dim fs As Object
Dim f As Object
Dim content As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(FileName & ".txt", 1, -2)

content = f.readall

f.Close

content = Replace(content, Chr(34) & "<", "<")
content = Replace(content, ">" & Chr(34), ">")
content = Replace(content, Chr(34) & Chr(34), Chr(34))

Set f = fs.createTextFile(FileName & ".txt", True, False)

f.write (content)

f.Close
Set f = Nothing
Set fs = Nothing

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除XML文件中的多余引号

来自分类Dev

如何删除pymysql中的多余引号

来自分类Dev

从文本文件中读取字符串列表并删除多余的引号

来自分类Dev

从 XML 值中删除引号

来自分类Dev

从.txt文件中删除引号

来自分类Dev

从外部文件中删除多余的垃圾字符

来自分类Dev

读取文件中的行-删除多余的空格

来自分类Dev

使用python删除文件中的多余单词

来自分类Dev

如何从csv文件中删除多余的逗号?

来自分类Dev

XML文件中的双引号

来自分类Dev

列出目录中丢失的文件并删除所有多余的文件

来自分类Dev

使用 XSLT 从 XML 中删除 <TABLE> 标签中的多余标签

来自分类Dev

从xml文件中删除带空格和引号的字符串

来自分类Dev

从返回的CSV文件中删除引号

来自分类Dev

删除csv文件中整数附近的引号

来自分类Dev

如何从.csv文件中删除引号?

来自分类Dev

如何使用awk从文件中删除引号

来自分类Dev

删除生成文件中的引号

来自分类Dev

使用python从json文件中删除引号

来自分类Dev

如何删除空xml标记中的多余空间

来自分类Dev

如何使用JavaScript删除动态创建的json对象中的多余引号?

来自分类Dev

从Clojure字符串列表中删除多余的转义双引号

来自分类Dev

如何在SAS中删除由于双引号引起的多余空间

来自分类Dev

从文本文件中删除多余的空间

来自分类Dev

从Mercurial储存库中删除多余的文件夹

来自分类Dev

如何从Python日志文件中删除多余的数据?

来自分类Dev

脚本从两个不同的文件中删除多余的行

来自分类Dev

如何从* .docx文件中删除所有多余的空格?

来自分类Dev

如何使用php删除CSV文件中的多余逗号

Related 相关文章

热门标签

归档