在发布我的问题之后,我找到了解决方案,因此与其删除它,不如发布解决方案。这可能对其他人有帮助。
我想修改以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必须替换为与文本串联的变量。
答案 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>"