分享成果,隨喜正能量】我們畢生的任務就是做一個優秀的普通人。這個優秀的普通人,熱愛世界,熱愛萬物,熱愛眾生,然后踏踏實實地去尋找到一個自己內心喜歡又有時代價值的事情。一個人一輩子能夠做好一兩件事就很好了。。
我給VBA的定義:VBA是個人小型自動化處理的有效工具。利用好了,可以大大提高自己的勞動效率,而且可以提高數據的準確度。我推出的VBA系列教程共十套(本文的最后附有VBA教程目錄和VBA工具目錄),現在已經全部完成。
如果您VBA是入門階段,可以打包選擇7.1.3.9教程,第7套教程是入門,第1套教程是入門后的提高,第3套教程字典是必備的VBA之精華,第9套教程是實用的典型案例講解。如果您有了一定的VBA基礎可以根據自己的需要,進行教程的選擇。教程提供的程序源碼文件就如一座大型的代碼庫支持著大家的工作。同時還有實用的資料送給學員。
VBA是面向對象編程的語言,博大精深。很多朋友咨詢英語和VBA的關系,這套《VBA即用型代碼手冊(漢英)》集合了眾多的案例,案例我用漢語和英語同時發布,學員從中可以更好的領會和掌握VBA中用到的一些英語。今日的內容:WORD_VBA文本框的添加、刪除、寫入及保存為html文件
Word Objects and Macro Examples
Sub mynzAddTextBox()
ActiveDocument.Shapes.AddTextBox Orientation:=msoTextOrientationHorizontal, _
Left:=100, Top:=180, Width:=300, Height:=100
End Sub
Sub mynzDeleteTextBox()
'我們需要檢查 oShape 是否屬于 msoShapeRectangle 類型,并且它的文本框是否包含書寫位置
Dim oShape As Shape
If ActiveDocument.Shapes.Count > 0 Then
For Each oShape In ActiveDocument.Shapes
If oShape.AutoShapeType = msoShapeRectangle Then
If oShape.TextFrame.HasText = True Then
oShape.Delete
End If
End If
Next oShape
End If
End Sub
Sub mynzWriteInTextBox()
Dim oShape As Shape
If ActiveDocument.Shapes.Count > 0 Then
For Each oShape In ActiveDocument.Shapes
If oShape.AutoShapeType = msoShapeRectangle Then
If oShape.TextFrame.HasText = True Then
oShape.TextFrame.TextRange.InsertAfter "VBA Case"
Exit For
End If
End If
Next oShape
End If
End Sub
Sub mynzSaveMewithDateName()
'將當前活動文檔保存為過濾后的 html,并以當前時間命名
Dim strTime As String
strTime = Format(Now, "hh-mm")
ActiveDocument.SaveAs FileName:=ActiveDocument.Path & "\" & strTime, FileFormat:=wdFormatFilteredHTML
End Sub
【分享成果,隨喜正能量】我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中:
【分享成果,隨喜正能量】總有一段時光,讓我們深感痛苦,但不是所有的時光都這樣,我們要學會在黑暗中,找到一絲光芒,這束光來自于內心,它會讓我們重新找到好日子。。
Excel表格是可以作為網頁來進行展示的,也就是說當你完成一個表格,想要通過Web網頁來進行發布,那么就需要看這篇文章了。
目前網絡技術發展十分快,辦公方式也逐漸向網絡辦公進行遷移,這是大趨勢。
那么,當我們編輯好一個工作表之后,如何在網頁上正確顯示,就需要以Web代碼形式來進行處理,這是Excel之外的另一種編碼方式,但是Excel也給出了解決方法。
如下圖所示,編輯好一個表格,通過一些代碼就可以實現網頁顯示。
下圖為發布成Web頁的效果,也就是Htm后綴的文件。
Htm文件有什么用呢?
它是Web頁通用格式,當然不是唯一的格式,也就是說,Htm格式可以用任何瀏覽器打開,而xls或xlsx只能用Excel或WPS等編輯軟件打開,通用性不同,Htm格式只能讀不能編輯。
下面進入正題,了解一下通過VBA如何實現Web網頁發布。
如下圖所示,首先要認識PublishObject對象,圖中有對象的方法和屬性詳細內容。
PublishObject對象看不到,它是不是存在,可以通過代碼來查看。
WorkBook.PublishObjects.Count '返回工作薄中的PublishObject對象數
WorkBook.PublishObjects.item(1).FileName'返回第一個PublishObject對象文件地址和文件名
PublishObjects是一個集合,包含了所有PublishObject對象。
發布只用一個方法:
PublishObject.Publish(true)
具體研究可以看一下代碼
Sub NewPublishObject(xPath As String) '導出Html文件
On Error Resume Next
Dim wx As Workbook, pobj As Object
Set wx = ActiveWorkbook
Set pobj = wx.PublishObjects.Add(xlSourceRange, xPath, wx.ActiveSheet.Name _
, wx.ActiveSheet.UsedRange.Address, xlHtmlStatic, "", wx.ActiveSheet.Name)
With pobj
.Publish (True)
.AutoRepublish = False
' MsgBox .DivID
End With
Set pobj = Nothing
End Sub
上述代碼首先添加一個PublishObject對象,然后再進行方法和屬性設置。
添加PublishObject使用PublishObjects.Add()方法
具體參數如下圖所示:
如果要進行網頁展示表格,相信這個還是十分有用的。
歡迎關注、收藏
---END---
頭條創作挑戰賽# 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 中應用相應的樣式。】
*請認真填寫需求信息,我們會在24小時內與您取得聯系。