如何编辑网页的HTML

时间:2019-11-28 05:52:38

标签: html vba double-quotes

在发布我的问题之后,我找到了解决方案,因此与其删除它,不如发布解决方案。这可能对其他人有帮助。

我想修改以VBA作为IE对象打开的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>"

以在检索元素后编辑代码。 我遇到的第一个问题是如何创建带有嵌套引号的文本变量。这可以通过用双引号替换内部引号来解决。 第二个是在试用期间创建了额外的HTML行,但是我现在知道,如果不重复第一行也无法重复第二行。 因此,完整的代码是(作为IE对象打开网页后):

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必须替换为与文本串联的变量。

2 个答案:

答案 0 :(得分:1)

您将必须使用以下内容正确编译以上内容。

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>"

答案 1 :(得分:1)

就像我想象的大多数人一样,您只需要使用"作为顶层。 例如

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>"