如何编辑网页的 HTML

How to edit the HTML of a webpage

在 post 我的问题之后,我找到了解决方案,所以我没有删除它,而是 post 解决方案。这可能对其他人有帮助。

我想修改我用 VBA 作为 IE Object 打开的 HTML 网页中的一些元素。 具体来说,我想更改标题元素(多行日历中的天数)的背景颜色,以便更容易将其与其他天数区分开来。服务器发送带有深灰色背景的全天数字,但我想在屏幕上看到带有亮黄色背景的今天数字。 我发现相关的 HTML 代码是这样的:

<th class="daynumber">24</th>
<th class="daynumber">25</th>
<th class="daynumber">26</th>
<th class="daynumber">27</th>

并且在 VBA 中我可以使用

检索第 26 天
a = IE.Document.getelementsbyclassname("daynumber").Item(25).outerHtml

然后我用

IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml = "<th>bgcolor=""yellow"">26</th>"

检索元素后编辑代码。 我遇到的第一个问题是如何创建带有嵌套引号的文本变量。这可以通过将内部引号替换为 double-quotes 来解决。 第二个是在我的试验期间创建了额外的 HTML 行,但我现在明白我不能在不重复第一行的情况下重复第二行。 所以完整的代码是(用IE打开网页后Object):

a = IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml
IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml = "<th bgcolor=""yellow"">26</th>"

其中 25 和 26 必须替换为连接到文本的变量。

您必须使用以下内容才能正确编译上述内容。

IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml = "<th>bgcolor=""yellow"">26</th>"

注意颜色代码前后的双引号。

或者按照 braX

的建议,只是下面的内容
IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml = "<th>bgcolor=yellow>26</th>"

你必须只使用 " 作为顶级,我想大多数人都会这样做。 例如

IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml = "<th>bgcolor=yellow>26</th>"

但你也可以这样做,

IE.Document.getelementsbyclassname("titel oben daynumber").Item(25).outerHtml = "<th>bgcolor=""yellow"">26</th>"