专栏名称: 完美Excel
Excel与VBA技术学习与实践
目录
相关文章推荐
Excel之家ExcelHome  ·  小白也能轻松学会的9个办公自动化大招 ·  3 天前  
Excel之家ExcelHome  ·  下拉菜单,Word中也有 ·  5 天前  
Excel之家ExcelHome  ·  TEXT函数的几个典型用法 ·  4 天前  
Excel之家ExcelHome  ·  按指定一级类别显示二级菜单 ·  5 天前  
完美Excel  ·  白鹤滩的初冬 ·  4 天前  
51好读  ›  专栏  ›  完美Excel

几段Word VBA代码

完美Excel  · 公众号  · Excel  · 2024-12-23 05:30

正文

学习Excel技术,关注微信公众号:
excelperfect

标签:Word VBA

不要忘了,VBA也能够在Word中使用,也可以在很多情况下取得不错的效果。下面整理了几段基础的Word VBA代码,供有兴趣的朋友学习参考。

判断所选文本是否处于段落开头

代码:

If Selection.Start = Selection.Paragraphs(1).Range.Start Then MsgBox "处于段落开头."Else MsgBox "不处于段落开头"End If

获取当前光标所在位置或所选文本处于文档哪个段落中

代码:

MsgBox ActiveDocument.Range(0, Selection.Paragraphs(1).Range.End).Paragraphs.Count

判断所选文本开头的字符是否为字母或数字

代码:

If Selection.Characters(1) Like "[a-zA-Z0-9]" Then MsgBox "所选文本第1个字符是字母或数字."If Selection.Characters(1) Like "[!a-zA-Z0-9]" Then MsgBox "所选文本第1个字符不是字母或数字."

获取当前光标所在的位置坐标

代码:

x = Selection.Information(wdHorizontalPositionRelativeToPage)y = Selection.Information(wdVerticalPositionRelativeToPage)

注意,要使上述代码返回正确的值,需要设置为正常的页面视图,页面缩放设置为100%。单位换算为:72 pts. = 1 inch = 2.54 cm

获取当前文档共有多少页

代码:

MsgBox Selection.Information(wdNumberOfPagesInDocument)

或者:

MsgBox ActiveDocument.BuiltInDocumentProperties("Number of Pages")

获取当前光标所在的页码

代码:

MsgBox Selection.Information(wdActiveEndPageNumber)

判断文本插入处是否位于当前文档末尾

代码1:所选择的文本是否位于末尾(选择一定要扩展到最后面的段落符号)

Dim SelectionIncludesFinalParagraphMark As BooleanIf Selection.Type = wdSelectionNormal And Selection.End = ActiveDocument.Content.End Then SelectionIncludesFinalParagraphMark = TrueMsgBox SelectionIncludesFinalParagraphMark

代码2:光标是否处于文档末尾(光标处于文档末尾处)

Dim InsertionPointFlashingAtEndOfDoc As BooleanIf Selection.Type = wdSelectionIP And Selection.End = ActiveDocument.Content.End - 1 Then InsertionPointFlashingAtEndOfDoc = TrueMsgBox InsertionPointFlashingAtEndOfDoc

获取表格中的空单元格

代码1

Dim oCell As CellDim oRow As RowFor Each oRow In Selection.Tables(1).Rows For Each oCell In oRow.Cells   If oCell.Range.Text = Chr(13) & Chr(7) Then     MsgBox "表格中第" & oCell.RowIndex & "行,第" & oCell.ColumnIndex & "列的单元格为空单元格."   End If Next oCellNext oRow

代码2

Dim oCell As CellDim oRow As RowDim MyRange As RangeFor Each oRow In Selection.Tables(1).Rows For Each oCell In oRow.Cells   Set MyRange = oCell.Range   MyRange.End = MyRange.End - 1   If Len(MyRange.Text) = 0 Then     MsgBox "表格中第" & oCell.RowIndex & "行,第" & oCell.ColumnIndex & "列的单元格为空单元格."   End If Next oCellNext oRow

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

推荐文章
Excel之家ExcelHome  ·  小白也能轻松学会的9个办公自动化大招
3 天前
Excel之家ExcelHome  ·  下拉菜单,Word中也有
5 天前
Excel之家ExcelHome  ·  TEXT函数的几个典型用法
4 天前
Excel之家ExcelHome  ·  按指定一级类别显示二级菜单
5 天前
完美Excel  ·  白鹤滩的初冬
4 天前
法律读库  ·  地域歧视是种病,河南受害最严重
8 年前
互联网er的早读课  ·  2017如何培养早起,跑步,读书,冥想等习惯?
7 年前
悄悄法律人  ·  预告 | 金融检察论坛直播入口
7 年前