在Excel(2007)VBA中读取和更改多个XML文件-其他

在Excel(2007)VBA中读取和更改多个XML文件-其他,xml,parsing,vba,Xml,Parsing,Vba,我尝试使用一个代码(Olle Sjögren先生8月15日13:08的回答)将文件夹d:\eBobo中多个xml文件中的一行替换为两行 例如,我想更改一行(在该文件夹中的所有xml文件中都是相同的): aaaaaaaaaa 成行(也在所有xml文件中): bbbbbbbbbbbb 中交 这是我的尝试: Sub ReplaceStringInFile() Const sSearchString As String = "d:\eBobo\*.xml" Dim sBuf As S

我尝试使用一个代码(Olle Sjögren先生8月15日13:08的回答)将文件夹d:\eBobo中多个xml文件中的一行替换为两行

例如,我想更改一行(在该文件夹中的所有xml文件中都是相同的):

aaaaaaaaaa

成行(也在所有xml文件中):

bbbbbbbbbbbb

中交

这是我的尝试:

Sub ReplaceStringInFile()

    Const sSearchString As String = "d:\eBobo\*.xml"

    Dim sBuf As String
    Dim sTemp As String
    Dim iFileNum As Integer
    Dim sFileName As String
    Dim sFilePath As String


    sFileName = Dir(sSearchString)

    Do While sFileName <> ""

        sFilePath = "d:\eBobo\" & sFileName  'Get full path to file
        iFileNum = FreeFile
        sTemp = ""  'Clear sTemp

        Open sFilePath For Input As iFileNum

            Do Until EOF(iFileNum)

                Line Input #iFileNum, sBuf
                sTemp = sTemp & sBuf & vbCrLf

            Loop

        Close iFileNum

        sTemp = Replace(sTemp, "aaaaaaaaaa", "bbbbbbbbbb" <br /> "cccccccccc")

        iFileNum = FreeFile

        Open sFilePath For Output As iFileNum
        Print #iFileNum, sTemp

        Close iFileNum

        sFileName = Dir() 'Get the next file
    Loop
End Sub
子替换字符串填充()
Const ssearch字符串为String=“d:\eBobo\*.xml”
作为字符串的Dim sBuf
作为字符串的Dim sTemp
作为整数的Dim iFileNum
将sFileName设置为字符串
将sFilePath设置为字符串
sFileName=Dir(sSearchString)
当sFileName“”时执行此操作
sFilePath=“d:\eBobo\”&sFileName“获取文件的完整路径”
iFileNum=FreeFile
sTemp=“”清除sTemp
打开sFilePath以作为iFileNum输入
直到EOF为止(iFileNum)
行输入#iFileNum,sBuf
sTemp=sTemp&sBuf&vbCrLf
环
近缘
sTemp=替换(sTemp,“aaaaaaaa”,“bbbbbbbbbb”
“CCCCCC”) iFileNum=FreeFile 打开sFilePath以作为iFileNum输出 打印#iFileNum,sTemp 近缘 sFileName=Dir()'获取下一个文件 环 端接头
我收到一个消息语法错误。任何帮助都将不胜感激


谢谢你的回答

尝试删除额外的引号:

sTemp = Replace(sTemp, "aaaaaaaaaa", "bbbbbbbbbb <br /> cccccccccc")

我已经试过了,但这只返回一行:bbbbbbbbbb
中交谢谢Daniel根据您的补充信息给了您一些其他信息。Daniel,这很好用!非常感谢!亲切的问候。
sTemp = Replace(sTemp, "aaaaaaaaaa", "bbbbbbbbbb" & vbCRLF & "cccccccccc")