分享成果,随喜正能量】我们毕生的任务就是做一个优秀的普通人。这个优秀的普通人,热爱世界,热爱万物,热爱众生,然后踏踏实实地去寻找到一个自己内心喜欢又有时代价值的事情。一个人一辈子能够做好一两件事就很好了。。
我给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小时内与您取得联系。