用VBA從Access創(chuàng)建HTML電子郵件只需將下面Outlook相關(guān)屬性的語(yǔ)句
.Body=strBody
修改為
.HTMLBody=strBody
具體函數(shù)如下:
閱讀原文:http://www.accessoft.com/article-show.asp?id=20108 里復(fù)制代碼。
頭條創(chuàng)作挑戰(zhàn)賽# HTMLStyleElement 對(duì)象是 Excel VBA 中用來(lái)操作 HTML 樣式的元素對(duì)象。它表示 HTML 頁(yè)面中的樣式標(biāo)簽(<style>)。
下面是 6 個(gè)代碼實(shí)例,用來(lái)說(shuō)明 HTMLStyleElement 對(duì)象的用法:
1、創(chuàng)建一個(gè)新的 <style> 元素對(duì)象,并將其添加到 HTML 文檔中:
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects.Add(ClassType:="HTML Style")
2、設(shè)置 <style> 元素的 innerHTML 屬性,即添加樣式規(guī)則:
style.Object.innerHTML="body { background-color: lightblue; }"
3、獲取 <style> 元素的 innerHTML 屬性,即獲取樣式規(guī)則:
Dim styleRules As String
styleRules=style.Object.innerHTML
4、將 <style> 元素插入到 HTML 文檔中的某個(gè)節(jié)點(diǎn)之前:
Dim targetNode As Object
Set targetNode=ThisWorkbook.Sheets("Sheet1").OLEObjects("targetNode")
targetNode.ParentNode.insertBefore style.Object, targetNode
5、從 HTML 文檔中移除 <style> 元素:
style.Delete
6、通過(guò)指定 <style> 元素的 id 屬性,獲取具有特定 id 的 <style> 元素對(duì)象:
Dim styleId As String
styleId="myStyle"
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects(styleId).Object
通過(guò)以上的代碼實(shí)例,你可以了解如何創(chuàng)建、設(shè)置、獲取、移除和查找 HTMLStyleElement 對(duì)象。注意,在上述代碼中,ThisWorkbook.Sheets("Sheet1") 可以根據(jù)你的具體情況進(jìn)行修改,以指定你要操作的工作表。
當(dāng)我感到壓力或需要放松時(shí),我通常會(huì)使用 Excel 來(lái)記錄和跟蹤我的情緒和心理狀態(tài)。我創(chuàng)建了一個(gè)簡(jiǎn)單的示例,使用 HTMLStyleElement 對(duì)象在 Excel 中應(yīng)用不同的樣式主題來(lái)反映我的情緒。
Sub ApplyEmotionalStyle()
' 創(chuàng)建新的 HTMLStyleElement 對(duì)象
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects.Add(ClassType:="HTML Style")
' 根據(jù)情緒類(lèi)型設(shè)置樣式規(guī)則
Dim mood As String
mood=InputBox("請(qǐng)輸入你的情緒類(lèi)型(例如: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 "無(wú)效的情緒類(lèi)型"
Exit Sub
End Select
' 將樣式應(yīng)用到整個(gè)工作表
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 文檔中的某個(gè)節(jié)點(diǎn)之前
Dim targetNode As Object
Set targetNode=ThisWorkbook.Sheets("Sheet1").Range("A1")
targetNode.ParentNode.insertBefore style.Object, targetNode
' 彈出對(duì)話框展示情緒樣式的效果
MsgBox "樣式已應(yīng)用到工作表中的單元格范圍"
End Sub
當(dāng)運(yùn)行上述代碼時(shí),它會(huì)提示你輸入情緒類(lèi)型,然后根據(jù)輸入的情緒類(lèi)型應(yīng)用相應(yīng)的樣式。例如,如果輸入 “happy”,則會(huì)將工作表的背景顏色設(shè)置為黃色。你可以根據(jù)需要添加更多的情緒類(lèi)型和對(duì)應(yīng)的樣式規(guī)則?!菊?qǐng)注意,該代碼假定在工作表 “Sheet1” 中有一個(gè) Range 對(duì)象(A1) 作為目標(biāo)節(jié)點(diǎn),你也可以根據(jù)需要修改它】
在使用 HTMLStyleElement 對(duì)象時(shí),需要注意以下幾點(diǎn):
1、確保在添加 <style> 元素之前,要?jiǎng)?chuàng)建一個(gè) OLEObject 控件并將其類(lèi)型設(shè)置為 “HTML Style”,然后再通過(guò) Object 屬性來(lái)訪問(wèn) HTMLStyleElement 對(duì)象。
Dim style As Object
Set style=ThisWorkbook.Sheets("Sheet1").OLEObjects.Add(ClassType:="HTML Style")
2、使用 .innerHTML 屬性來(lái)設(shè)置或獲取 <style> 元素的樣式規(guī)則。樣式規(guī)則必須遵循 CSS 的語(yǔ)法規(guī)則。
style.Object.innerHTML="body { background-color: lightblue; }"
3、在插入 <style> 元素之前,需要找到要將其插入到的目標(biāo)節(jié)點(diǎn)。通過(guò) ParentNode 屬性和 insertBefore 方法來(lái)實(shí)現(xiàn)。
Dim targetNode As Object
Set targetNode=ThisWorkbook.Sheets("Sheet1").Range("A1")
targetNode.ParentNode.insertBefore style.Object, targetNode
4、如果不再需要 <style> 元素,可以使用 Delete 方法將其從文檔中刪除。
style.Delete
5、當(dāng)在 Excel 中使用 HTMLStyleElement 對(duì)象時(shí),要確保選擇適當(dāng)?shù)哪繕?biāo)范圍(比如工作表、單元格等),以便樣式被正確應(yīng)用。
6、需要遵循 CSS 的語(yǔ)法規(guī)則,確保正確設(shè)置樣式規(guī)則。例如,必須使用正確的 CSS 選擇器(如 “body”、“div”)和屬性(如 “background-color”、“font-size”)。
7、HTMLStyleElement 對(duì)象只能應(yīng)用于支持 HTML 渲染的環(huán)境中,例如在 WebBrowser 控件中或使用 VBA 內(nèi)置的 Web 瀏覽器。
8、在應(yīng)用樣式之前,應(yīng)該清楚目標(biāo)節(jié)點(diǎn)的父節(jié)點(diǎn)是否支持樣式。例如,在 <style> 元素之前的節(jié)點(diǎn)必須是支持樣式的元素。
【通過(guò)遵循以上注意事項(xiàng),你能夠正確地使用 HTMLStyleElement 對(duì)象來(lái)操作樣式規(guī)則并在 Excel 中應(yīng)用相應(yīng)的樣式。】
分享成果,隨喜正能量】人生,有多少計(jì)較,就有多少痛苦。有多少寬容,就有多少歡樂(lè)。痛苦與歡樂(lè)都是心靈的折射,就像鏡子里面有什么,決定于鏡子面前的事物。心里放不下,自然成了負(fù)擔(dān),負(fù)擔(dān)越多,人生越不快樂(lè)。計(jì)較的心如同口袋,寬容的心猶如漏斗。復(fù)雜的心愛(ài)計(jì)較,簡(jiǎn)單的心易快樂(lè)。
《VBA信息獲取與處理》教程是我推出第六套教程,目前已經(jīng)是第一版修訂了。這套教程定位于最高級(jí),是學(xué)完初級(jí),中級(jí)后的教程。這部教程給大家講解的內(nèi)容有:跨應(yīng)用程序信息獲得、隨機(jī)信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數(shù)據(jù)抓取、VBA延時(shí)操作,剪貼板應(yīng)用、Split函數(shù)擴(kuò)展、工作表信息與其他應(yīng)用交互,F(xiàn)SO對(duì)象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內(nèi)容。程序文件通過(guò)32位和64位兩種OFFICE系統(tǒng)測(cè)試。是非常抽象的,更具研究的價(jià)值。
教程共兩冊(cè),八十四講。今日的內(nèi)容是專(zhuān)題八“VBA與HTML文檔”的第二節(jié)上半部分:HTML文檔元素
大家好,我們這講開(kāi)始HTML的講解,為了認(rèn)識(shí)這種特殊的語(yǔ)言,我們要先看看這種語(yǔ)言中的各種元素個(gè)代表什么意義。上節(jié)中在講這種語(yǔ)言的特征時(shí)講過(guò),標(biāo)簽是用來(lái)描述網(wǎng)頁(yè)的。瀏覽器讀取HTML文檔,識(shí)別標(biāo)簽,并按標(biāo)簽要求以網(wǎng)頁(yè)進(jìn)行顯示文本。大部分標(biāo)簽都是成隊(duì)出現(xiàn)的。
起始標(biāo)簽和結(jié)束標(biāo)簽之間的所有文本,都叫做元素。也就是這個(gè)格式就是:
<起始標(biāo)簽:也叫元素名>元素的內(nèi)容<結(jié)束標(biāo)簽:/+元素名>
標(biāo)簽是可以擁有屬性的,屬性提供了元素的一些附加信息,起始標(biāo)簽,有時(shí)候格式如下:
<元素名 屬性名稱=”屬性值”>
同時(shí),元素是可以擁有元素的,即某個(gè)元素的內(nèi)容有時(shí)候是一個(gè)子元素。
元素這東西,比較抽象,我們可以把它且當(dāng)作一個(gè)對(duì)象來(lái)理解,例如工作簿對(duì)象,每個(gè)工作簿的名稱都不一樣(屬性),每個(gè)工作簿里面都有工作表(子元素),每個(gè)表都有名稱(屬性),里面填寫(xiě)的內(nèi)容也不一樣(元素的內(nèi)容)。
在上一講中我們舉了一個(gè)最為簡(jiǎn)單的實(shí)例來(lái)說(shuō)明HTML文檔:
<html>
<body>
<h1>學(xué)習(xí)VBA語(yǔ)言</h1>
<p>為了更好的掌握VBA的各個(gè)知識(shí)點(diǎn),您可以參考我的第一套教程:VBA代碼解決方案</p>
</body>
</html>
我們將上面的格式修正一下,如下面:
<html>
<head> <!--注釋?zhuān)何臋n頭部,文檔相關(guān)消息,并不提供文檔內(nèi)容-->
<title>
VBA應(yīng)用提高篇
</title>
</head>
<body> <!--注釋?zhuān)何臋n主體-->
<h1>學(xué)習(xí)VBA語(yǔ)言</h1>
<p>為了更好的掌握VBA的各個(gè)知識(shí)點(diǎn),您可以先參考我的第一套教程:VBA代碼解決方案</p>
</body>
</html>
將上面的內(nèi)容寫(xiě)入記事本中保存為.html文件:HTML基礎(chǔ)學(xué)習(xí)-1.html
然后我們雙擊打開(kāi)這個(gè)文件,看看瀏覽器的翻譯效果:
我們?cè)倏纯淳W(wǎng)頁(yè)的源碼:
從上面的框架代碼,我們可以看出,一般的頁(yè)面,都有html元素,其一般內(nèi)含兩個(gè)元素,一個(gè)是head元素,一個(gè)是body元素。Head元素僅僅說(shuō)明文檔的相關(guān)消息,并不展示文檔實(shí)體,body元素才是真正展示文檔主體的,所有要在頁(yè)面展示的元素,都要在body內(nèi)進(jìn)行書(shū)寫(xiě)。
1)HTML標(biāo)題 <h1> - <h6>
標(biāo)題(Heading)是通過(guò) <h1> - <h6> 等標(biāo)簽進(jìn)行定義的。<h1> 定義最大的標(biāo)題。<h6> 定義最小的標(biāo)題。瀏覽器會(huì)自動(dòng)地在標(biāo)題的前后添加空行。標(biāo)題很重要,將 HTML heading 標(biāo)簽只用于標(biāo)題。不要僅僅是為了產(chǎn)生粗體或大號(hào)的文本而使用標(biāo)題。因?yàn)橛脩艨梢酝ㄟ^(guò)標(biāo)題來(lái)快速瀏覽您的網(wǎng)頁(yè),所以用標(biāo)題來(lái)呈現(xiàn)文檔結(jié)構(gòu)是很重要的。應(yīng)該將 h1 用作主標(biāo)題(最重要的),其后是 h2(次重要的),再其次是 h3,以此類(lèi)推。在HTML基礎(chǔ)學(xué)習(xí).HTML文件中我們已經(jīng)用到了標(biāo)題的元素
2)HTML水平線 <hr />
<hr /> 標(biāo)簽在 HTML 頁(yè)面中創(chuàng)建水平線??捎糜诜指魞?nèi)容。
[待續(xù)]
本節(jié)參考文件:HTML基礎(chǔ)學(xué)習(xí)-1.html;HTML基礎(chǔ)學(xué)習(xí)-2.html
我20多年的VBA實(shí)踐經(jīng)驗(yàn),全部濃縮在下面的各個(gè)教程中,教程學(xué)習(xí)順序:
【分享成果,隨喜正能量】人生,一歲有一歲的味道,一站有一站的風(fēng)景,你的年齡應(yīng)該成為你生命的勛章而不是你傷感的理由。 ??
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。