我正在使用excel宏从在线Intranet网站计算网站复制计算结果数据。
对于该计算,我必须向网页添加许多数据。我使用宏来自动将数据输入到网页,最后我可以访问结果页面。计算结果以表格形式显示。现在我想以表格形式将结果数据复制到excel表。 我尝试过网页查询,但由于地址不能直接加载网页,因此无法正常工作。
以下是我要提取的html表的来源。
<P>
<BR>
<TABLE width="80%">
<TR>
<TD bgcolor="#ffffff" align="center"><b>Life Calculation Result</b>
</TD>
</TR>
</TABLE>
<P>
<TABLE cellspacing="1" cellpadding="0">
<TR align="center">
<TH colspan="6"></TH>
<TH colspan="3" align="center">--- Inboard ---</TH>
<TH></TH>
<TH colspan="3" align="center">--- outboard ---</TH>
<TH></TH>
<TH colspan="3" align="center">--- System ---</TH>
</TR>
<TR align="center">
<TH>No.</TH>
<TH width="10"></TH>
<TH>Displacement</TH>
<TH width="10"></TH>
<TH>Preload</TH>
<TH width="10"></TH>
<TH>Running
<BR>Distance</TH>
<TH width="10"></TH>
<TH>Total
<BR>Number of
<BR>Revolutions</TH>
<TH width="10"></TH>
<TH>Running
<BR>Distance</TH>
<TH width="10"></TH>
<TH>Total
<BR>Number of
<BR>Revolutions</TH>
<TH width="10"></TH>
<TH>Running
<BR>Distance</TH>
<TH width="10"></TH>
<TH>Total
<BR>Number of
<BR>Revolutions</TH>
</TR>
<TR align="center">
<TH></TH>
<TH></TH>
<TH>[mm]</TH>
<TH></TH>
<TH>[N]</TH>
<TH></TH>
<TH>[10<sup><font size="-1">4<font></sup>km]</TH>
<TH></TH>
<TH>[10<sup><font size="-1">6<font></sup>rev.]</TH>
<TH></TH>
<TH>[10<sup><font size="-1">4<font></sup>km]</TH>
<TH></TH>
<TH>[10<sup><font size="-1">6<font></sup>rev.]</TH>
<TH></TH>
<TH>[10<sup><font size="-1">4<font></sup>km]</TH>
<TH></TH>
<TH>[10<sup><font size="-1">6<font></sup>rev.]</TH>
</TR>
<TR align="right">
<TH>(1)</TH>
<TD></TD>
<TD>0.594874</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD>3.492e+004</TD>
<TD></TD>
<TD>1.705e+005</TD>
<TD></TD>
<TD>9.796e+004</TD>
<TD></TD>
<TD>4.782e+005</TD>
<TD></TD>
<TD>2.710e+004</TD>
<TD></TD>
<TD>1.323e+005</TD>
</TR>
<TR align="right">
<TH>(2)</TH>
<TD></TD>
<TD>0.604874</TD>
<TD></TD>
<TD></TD>
<TD></TD>
<TD>4.001e+004</TD>
<TD></TD>
<TD>1.953e+005</TD>
<TD></TD>
<TD>1.033e+005</TD>
<TD></TD>
<TD>5.045e+005</TD>
<TD></TD>
<TD>3.042e+004</TD>
<TD></TD>
<TD>1.485e+005</TD>
</TR>
<TR align="right">
<TH>(3)</TH>
<TD></TD>
<TD>0.614874</TD>
<TD></TD>
<TD>0.00</TD>
<TD></TD>
<TD>4.751e+004</TD>
<TD></TD>
<TD>2.320e+005</TD>
<TD></TD>
<TD>1.088e+005</TD>
<TD></TD>
<TD>5.314e+005</TD>
<TD></TD>
<TD>3.495e+004</TD>
<TD></TD>
<TD>1.706e+005</TD>
</TR>
<TR align="right">
<TH>(4)</TH>
<TD></TD>
<TD>0.630867</TD>
<TD></TD>
<TD>1000.00</TD>
<TD></TD>
<TD>3.003e+004</TD>
<TD></TD>
<TD>1.466e+005</TD>
<TD></TD>
<TD>3.941e+004</TD>
<TD></TD>
<TD>1.924e+005</TD>
<TD></TD>
<TD>1.813e+004</TD>
<TD></TD>
<TD>8.854e+004</TD>
</TR>
<TR align="right">
<TH>(5)</TH>
<TD></TD>
<TD>0.639982</TD>
<TD></TD>
<TD>2000.00</TD>
<TD></TD>
<TD>7.425e+003</TD>
<TD></TD>
<TD>3.625e+004</TD>
<TD></TD>
<TD>7.893e+003</TD>
<TD></TD>
<TD>3.853e+004</TD>
<TD></TD>
<TD>4.075e+003</TD>
<TD></TD>
<TD>1.989e+004</TD>
</TR>
<TR align="right">
<TH>(6)</TH>
<TD></TD>
<TD>0.647481</TD>
<TD></TD>
<TD>3000.00</TD>
<TD></TD>
<TD>2.523e+003</TD>
<TD></TD>
<TD>1.232e+004</TD>
<TD></TD>
<TD>2.592e+003</TD>
<TD></TD>
<TD>1.266e+004</TD>
<TD></TD>
<TD>1.362e+003</TD>
<TD></TD>
<TD>6.648e+003</TD>
</TR>
<TR align="right">
<TH>(7)</TH>
<TD></TD>
<TD>0.654070</TD>
<TD></TD>
<TD>4000.00</TD>
<TD></TD>
<TD>1.131e+003</TD>
<TD></TD>
<TD>5.521e+003</TD>
<TD></TD>
<TD>1.148e+003</TD>
<TD></TD>
<TD>5.605e+003</TD>
<TD></TD>
<TD>6.068e+002</TD>
<TD></TD>
<TD>2.962e+003</TD>
</TR>
<TR align="right">
<TH>(8)</TH>
<TD></TD>
<TD>0.660043</TD>
<TD></TD>
<TD>5000.00</TD>
<TD></TD>
<TD>6.007e+002</TD>
<TD></TD>
<TD>2.933e+003</TD>
<TD></TD>
<TD>6.065e+002</TD>
<TD></TD>
<TD>2.961e+003</TD>
<TD></TD>
<TD>3.214e+002</TD>
<TD></TD>
<TD>1.569e+003</TD>
</TR>
<TR align="right">
<TH>(9)</TH>
<TD></TD>
<TD>0.665559</TD>
<TD></TD>
<TD>6000.00</TD>
<TD></TD>
<TD>3.570e+002</TD>
<TD></TD>
<TD>1.743e+003</TD>
<TD></TD>
<TD>3.593e+002</TD>
<TD></TD>
<TD>1.754e+003</TD>
<TD></TD>
<TD>1.907e+002</TD>
<TD></TD>
<TD>9.311e+002</TD>
</TR>
<TR align="right">
<TH>(10)</TH>
<TD></TD>
<TD>0.670717</TD>
<TD></TD>
<TD>7000.00</TD>
<TD></TD>
<TD>2.296e+002</TD>
<TD></TD>
<TD>1.121e+003</TD>
<TD></TD>
<TD>2.307e+002</TD>
<TD></TD>
<TD>1.126e+003</TD>
<TD></TD>
<TD>1.226e+002</TD>
<TD></TD>
<TD>5.983e+002</TD>
</TR>
<TR align="right">
<TH>(11)</TH>
<TD></TD>
<TD>0.675584</TD>
<TD></TD>
<TD>8000.00</TD>
<TD></TD>
<TD>1.566e+002</TD>
<TD></TD>
<TD>7.646e+002</TD>
<TD></TD>
<TD>1.571e+002</TD>
<TD></TD>
<TD>7.671e+002</TD>
<TD></TD>
<TD>8.354e+001</TD>
<TD></TD>
<TD>4.078e+002</TD>
</TR>
<TR align="right">
<TH>(12)</TH>
<TD></TD>
<TD>0.680208</TD>
<TD></TD>
<TD>9000.00</TD>
<TD></TD>
<TD>1.117e+002</TD>
<TD></TD>
<TD>5.455e+002</TD>
<TD></TD>
<TD>1.120e+002</TD>
<TD></TD>
<TD>5.469e+002</TD>
<TD></TD>
<TD>5.958e+001</TD>
<TD></TD>
<TD>2.909e+002</TD>
</TR>
<TR align="right">
<TH>(13)</TH>
<TD></TD>
<TD>0.684622</TD>
<TD></TD>
<TD>10000.00</TD>
<TD></TD>
<TD>8.262e+001</TD>
<TD></TD>
<TD>4.034e+002</TD>
<TD></TD>
<TD>8.278e+001</TD>
<TD></TD>
<TD>4.042e+002</TD>
<TD></TD>
<TD>4.404e+001</TD>
<TD></TD>
<TD>2.150e+002</TD>
</TR>
</TABLE>
&#13;
答案 0 :(得分:0)
从
复制您的代码<table> ... </table>
标签
然后切换到Excel,选择一个单元格并按Command-v或使用Edit&gt;糊。 Excel知道HTML表格,并且会恰好格式化表格。
答案 1 :(得分:0)
没有网址就是猜测。
您可以使用Internet Explorer浏览器获取所有TABLE
标记元素,
IE.document.getElementsByTagName("TABLE")
然后按索引选择特定的表格;让我们说索引0,即集合中的第一个表。
IE.document.getElementsByTagName("TABLE")(0)
如果您添加了参考(VBE&gt;工具&gt;参考&gt; Microsoft Internet控件和HTML对象库),您可以将此表放入HTMLTable对象变量中:
Dim nTable As HTMLTable
Set nTable = IE.document.getElementByTagName("TABLE")(0)
然后,您可以在表格中选择tr
标签,以获取表格行
nTable.getElementsByTagName("tr")
并且在每一行中,您可以通过td
标记或沿行长度循环其单元格:
nTable.getElementsByTagName("tr")(i).getElementsByTagName("td")
其中i
是前一步中行集合的循环的当前索引。
循环表格单元格(由td
标签获取的内部循环项目时),然后您可以访问其.innerText
属性以获取值。
外部循环行(tr
标记)中包含的内容示例:
表格单元格中单个行(td
标记)内的内容示例:
因此,当您对行进行外部循环,然后对单元格进行内部循环时,您将获得上图中显示的值。
完整地完成此操作的示例,请记住根据每个网页,您必须稍微调整循环:https://stackoverflow.com/a/50888649/6241235