我得到了以下xml文件,该文件全部在一行文本中(这里有多行以使其更具可读性):
<bla>
<blabla>
<moreblabla>
<colheader>item1</colheader>
<colheader>item2</colheader>
<row>
<col>apple1</col>
<col>apple2</col>
</row>
<row>
<col>pear1</col>
<col>pear2</col>
</row>
<row>
<col>grape1</col>
<col>grape2</col>
</row>
</moreblabla>
</blabla>
</bla>
我想做以下事情,因为我不知道<colheader>
我想要使用excel函数find之前的blabla长度,以便拥有我所属部分的起始字符感兴趣的是:xml文件的row col部分。
这是我的初步脚本:
Sub replacexml()
Dim objFSO
Const ForReading = 1
Const ForWriting = 2
Dim objTS
Dim strContents As String
Dim fileSpec As String
Dim start As Long
Dim finish As Long
Dim lenght As Long
fileSpec = "C:\path\out.xml"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(fileSpec, ForReading)
strContents = objTS.ReadAll
start = InStr(strContents, "<colheader>")
finish = InStr(strContents, "</moreblabla>")
lenght = finsh - start
strContent = Mid(strContents, start, lenght)
objTS.Close
Set objTS = objFSO.OpenTextFile(fileSpec, ForWriting)
objTS.Write strContents
objTS.Close
End Sub
但我收到错误,我猜是没有识别Find函数。我如何让find功能起作用?
更新:现在mid功能出现了问题:
strContent = Mid(strContents, start, lenght)
答案 0 :(得分:0)
如果您尝试在字符串中查找某些文本,可以使用Instr
。
语法
InStr( [start], string, substring, [compare] )
希望它有所帮助。
对于MID
函数:
MID( text, start_position, number_of_characters)
您应该定义起始位置和字符数,两者都应该是数字。