在发布我的问题后,我找到了解决方案,所以我宁愿发布解决方案,而不是删除它。这可能会对其他人有所帮助。
我想修改我用VBA打开的HTML网页中的一些元素作为IE对象。具体地说,我希望更改title元素(多行日历中的日期数字)的背景颜色,以便更容易将其与其他日期数字区分开来。服务器发送全天的数字,背景为深灰色,但我想在屏幕上看到今天的数字,背景为亮黄色。我发现相关的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必须替换为连接到文本的变量。
发布于 2019-11-28 14:09:13
您必须使用以下代码来正确编译上面的代码。
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>"发布于 2019-11-28 14:17:57
您只需使用"作为顶层,我想大多数人都是这样做的。例如
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>"https://stackoverflow.com/questions/59082504
复制相似问题