用VBA从Access创建HTML电子邮件只需将下面Outlook相关属性的语句
.Body=strBody
修改为
.HTMLBody=strBody
具体函数如下:
阅读原文:http://www.accessoft.com/article-show.asp?id=20108 里复制代码。
头条创作挑战赛# HTMLStyleElement 对象是 Excel VBA 中用来操作 HTML 样式的元素对象。它表示 HTML 页面中的样式标签(<style>)。
下面是 6 个代码实例,用来说明 HTMLStyleElement 对象的用法:
1、创建一个新的 <style> 元素对象,并将其添加到 HTML 文档中:
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects.Add(ClassType:="HTML Style")
2、设置 <style> 元素的 innerHTML 属性,即添加样式规则:
style.Object.innerHTML="body { background-color: lightblue; }"
3、获取 <style> 元素的 innerHTML 属性,即获取样式规则:
Dim styleRules As String
styleRules=style.Object.innerHTML
4、将 <style> 元素插入到 HTML 文档中的某个节点之前:
Dim targetNode As Object
Set targetNode=ThisWorkbook.Sheets("Sheet1").OLEObjects("targetNode")
targetNode.ParentNode.insertBefore style.Object, targetNode
5、从 HTML 文档中移除 <style> 元素:
style.Delete
6、通过指定 <style> 元素的 id 属性,获取具有特定 id 的 <style> 元素对象:
Dim styleId As String
styleId="myStyle"
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects(styleId).Object
通过以上的代码实例,你可以了解如何创建、设置、获取、移除和查找 HTMLStyleElement 对象。注意,在上述代码中,ThisWorkbook.Sheets("Sheet1") 可以根据你的具体情况进行修改,以指定你要操作的工作表。
当我感到压力或需要放松时,我通常会使用 Excel 来记录和跟踪我的情绪和心理状态。我创建了一个简单的示例,使用 HTMLStyleElement 对象在 Excel 中应用不同的样式主题来反映我的情绪。
Sub ApplyEmotionalStyle()
' 创建新的 HTMLStyleElement 对象
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects.Add(ClassType:="HTML Style")
' 根据情绪类型设置样式规则
Dim mood As String
mood=InputBox("请输入你的情绪类型(例如:happy、sad、excited、calm):")
Select Case mood
Case "happy"
style.Object.innerHTML="body { background-color: yellow; }"
Case "sad"
style.Object.innerHTML="body { background-color: blue; }"
Case "excited"
style.Object.innerHTML="body { background-color: red; }"
Case "calm"
style.Object.innerHTML="body { background-color: green; }"
Case Else
MsgBox "无效的情绪类型"
Exit Sub
End Select
' 将样式应用到整个工作表
ThisWorkbook.Sheets("Sheet1").Cells.Font.Name="Arial"
ThisWorkbook.Sheets("Sheet1").Cells.Font.Size=14
ThisWorkbook.Sheets("Sheet1").Cells.Font.Color=RGB(255, 255, 255)
ThisWorkbook.Sheets("Sheet1").Cells.Interior.Pattern=xlNone
ThisWorkbook.Sheets("Sheet1").Cells.Interior.ColorIndex=xlColorIndexNone
ThisWorkbook.Sheets("Sheet1").Cells.Interior.ThemeColor=xlThemeColorLight1
' 将 <style> 元素插入 HTML 文档中的某个节点之前
Dim targetNode As Object
Set targetNode=ThisWorkbook.Sheets("Sheet1").Range("A1")
targetNode.ParentNode.insertBefore style.Object, targetNode
' 弹出对话框展示情绪样式的效果
MsgBox "样式已应用到工作表中的单元格范围"
End Sub
当运行上述代码时,它会提示你输入情绪类型,然后根据输入的情绪类型应用相应的样式。例如,如果输入 “happy”,则会将工作表的背景颜色设置为黄色。你可以根据需要添加更多的情绪类型和对应的样式规则。【请注意,该代码假定在工作表 “Sheet1” 中有一个 Range 对象(A1) 作为目标节点,你也可以根据需要修改它】
在使用 HTMLStyleElement 对象时,需要注意以下几点:
1、确保在添加 <style> 元素之前,要创建一个 OLEObject 控件并将其类型设置为 “HTML Style”,然后再通过 Object 属性来访问 HTMLStyleElement 对象。
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects.Add(ClassType:="HTML Style")
2、使用 .innerHTML 属性来设置或获取 <style> 元素的样式规则。样式规则必须遵循 CSS 的语法规则。
style.Object.innerHTML="body { background-color: lightblue; }"
3、在插入 <style> 元素之前,需要找到要将其插入到的目标节点。通过 ParentNode 属性和 insertBefore 方法来实现。
Dim targetNode As Object
Set targetNode=ThisWorkbook.Sheets("Sheet1").Range("A1")
targetNode.ParentNode.insertBefore style.Object, targetNode
4、如果不再需要 <style> 元素,可以使用 Delete 方法将其从文档中删除。
style.Delete
5、当在 Excel 中使用 HTMLStyleElement 对象时,要确保选择适当的目标范围(比如工作表、单元格等),以便样式被正确应用。
6、需要遵循 CSS 的语法规则,确保正确设置样式规则。例如,必须使用正确的 CSS 选择器(如 “body”、“div”)和属性(如 “background-color”、“font-size”)。
7、HTMLStyleElement 对象只能应用于支持 HTML 渲染的环境中,例如在 WebBrowser 控件中或使用 VBA 内置的 Web 浏览器。
8、在应用样式之前,应该清楚目标节点的父节点是否支持样式。例如,在 <style> 元素之前的节点必须是支持样式的元素。
【通过遵循以上注意事项,你能够正确地使用 HTMLStyleElement 对象来操作样式规则并在 Excel 中应用相应的样式。】
分享成果,随喜正能量】人生,有多少计较,就有多少痛苦。有多少宽容,就有多少欢乐。痛苦与欢乐都是心灵的折射,就像镜子里面有什么,决定于镜子面前的事物。心里放不下,自然成了负担,负担越多,人生越不快乐。计较的心如同口袋,宽容的心犹如漏斗。复杂的心爱计较,简单的心易快乐。
《VBA信息获取与处理》教程是我推出第六套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。这部教程给大家讲解的内容有:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪贴板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。是非常抽象的,更具研究的价值。
教程共两册,八十四讲。今日的内容是专题八“VBA与HTML文档”的第二节上半部分:HTML文档元素
大家好,我们这讲开始HTML的讲解,为了认识这种特殊的语言,我们要先看看这种语言中的各种元素个代表什么意义。上节中在讲这种语言的特征时讲过,标签是用来描述网页的。浏览器读取HTML文档,识别标签,并按标签要求以网页进行显示文本。大部分标签都是成队出现的。
起始标签和结束标签之间的所有文本,都叫做元素。也就是这个格式就是:
<起始标签:也叫元素名>元素的内容<结束标签:/+元素名>
标签是可以拥有属性的,属性提供了元素的一些附加信息,起始标签,有时候格式如下:
<元素名 属性名称=”属性值”>
同时,元素是可以拥有元素的,即某个元素的内容有时候是一个子元素。
元素这东西,比较抽象,我们可以把它且当作一个对象来理解,例如工作簿对象,每个工作簿的名称都不一样(属性),每个工作簿里面都有工作表(子元素),每个表都有名称(属性),里面填写的内容也不一样(元素的内容)。
在上一讲中我们举了一个最为简单的实例来说明HTML文档:
<html>
<body>
<h1>学习VBA语言</h1>
<p>为了更好的掌握VBA的各个知识点,您可以参考我的第一套教程:VBA代码解决方案</p>
</body>
</html>
我们将上面的格式修正一下,如下面:
<html>
<head> <!--注释:文档头部,文档相关消息,并不提供文档内容-->
<title>
VBA应用提高篇
</title>
</head>
<body> <!--注释:文档主体-->
<h1>学习VBA语言</h1>
<p>为了更好的掌握VBA的各个知识点,您可以先参考我的第一套教程:VBA代码解决方案</p>
</body>
</html>
将上面的内容写入记事本中保存为.html文件:HTML基础学习-1.html
然后我们双击打开这个文件,看看浏览器的翻译效果:
我们再看看网页的源码:
从上面的框架代码,我们可以看出,一般的页面,都有html元素,其一般内含两个元素,一个是head元素,一个是body元素。Head元素仅仅说明文档的相关消息,并不展示文档实体,body元素才是真正展示文档主体的,所有要在页面展示的元素,都要在body內进行书写。
1)HTML标题 <h1> - <h6>
标题(Heading)是通过 <h1> - <h6> 等标签进行定义的。<h1> 定义最大的标题。<h6> 定义最小的标题。浏览器会自动地在标题的前后添加空行。标题很重要,将 HTML heading 标签只用于标题。不要仅仅是为了产生粗体或大号的文本而使用标题。因为用户可以通过标题来快速浏览您的网页,所以用标题来呈现文档结构是很重要的。应该将 h1 用作主标题(最重要的),其后是 h2(次重要的),再其次是 h3,以此类推。在HTML基础学习.HTML文件中我们已经用到了标题的元素
2)HTML水平线 <hr />
<hr /> 标签在 HTML 页面中创建水平线。可用于分隔内容。
[待续]
本节参考文件:HTML基础学习-1.html;HTML基础学习-2.html
我20多年的VBA实践经验,全部浓缩在下面的各个教程中,教程学习顺序:
【分享成果,随喜正能量】人生,一岁有一岁的味道,一站有一站的风景,你的年龄应该成为你生命的勋章而不是你伤感的理由。 ??
*请认真填写需求信息,我们会在24小时内与您取得联系。