我已经将网页下载为html并存储在本地文件夹中。现在,我想用excel VBA宏读取相同的html文件并解析特定的标签。问题是:当我尝试从本地html文件读取并将整个文件数据分配为html时,html标签属性发生了变化。问题阅读带有html标签的文本文件,并将它们转换成htmldoc VBA
我无法获得正确的html属性,因此我无法解析它。当我尝试读取html,然后分配给一个html对象并将数据写回到一个文件中时,我看到下面的结果。这就是我无法正确解析td.classname =“detb”的原因。
为前:原标签的 一部分作为本地的HTML文件
<tbody>
<tr height=""22"">
<td width=""40%"" class=""detb"" colspan=""1""></td>
<td align=""right"" class=""detb"">Mar 13</td>
<td align=""right"" class=""detb"">Mar 12</td>
<td align=""right"" class=""detb"">Mar 11</td>
<td align=""right"" class=""detb"">Mar 10</td>
<td align=""right"" class=""detb"">Mar 09</td>
</tr>
下面的数据类型,当我读文件,然后指定一个HTML对象,并显示/写回文件:
<tbody><tr height="""" 22""""="""">
<td width="""" colspan=""1"" 1""""="""" 40%""""="""" detb""""=""""></td>
<td align="""" right""""="""" detb""""="""">Mar 13</td>
<td align="""" right""""="""" detb""""="""">Mar 12</td>
<td align="""" right""""="""" detb""""="""">Mar 11</td>
<td align="""" right""""="""" detb""""="""">Mar 10</td>
<td align="""" right""""="""" detb""""="""">Mar 09</td>
</tr>
代码:
Set MyBrowser = CreateObject("InternetExplorer.Application")
With MyBrowser
.navigate << html file path >>
.Visible = True
Set HTMLDoc = MyBrowser.document
Open myFilePrev2 For Output As #1
Write #1, HTMLDoc.body.innerHTML
Close #1
.Quit
End With
能否请你帮我。
干杯, 拉哈夫
您好,感谢您的建议。我会尝试。除了将内容写入文件之外,我的问题主要是读取带有html标签的文本文件,并将整个文件分配给htmldoc。我试图使用这种回写策略来检查本地文本文件(带有html标签)是如何读取的,因为它没有像原始HTML文件中那样提供所有属性。要清楚,问题是后张开HTML文件在互联网扩展和保存源代码为“HTMLDoc”,我无法获得标记条件“td.classname =”detb“,它存在于输入html中... – Raghavan