介紹Word VBA中表格的常用操作包括:創(chuàng)建表格、設(shè)置表格樣式、行列的增刪、合并拆分單元格、獲取與修改單元格內(nèi)容
在指定位置插入新建表格
Sub CreateTable()
' 設(shè)置表格的行數(shù)和列數(shù)
numRows = 3
numColumns = 4
' 設(shè)置插入位置
' 在當(dāng)前選中的位置或光標(biāo)處插入表格
Set insertRange = Selection.Range
' 在指定位置插入表格
Set myTable = ActiveDocument.Tables.Add(Range:=insertRange, NumRows:=numRows, NumColumns:=numColumns)
End Sub
代碼說(shuō)明:
設(shè)置表格的行數(shù)和列數(shù)
numRows = 3
設(shè)置表格的行數(shù)為3
numColumns = 4
設(shè)置表格的列數(shù)為4
設(shè)置插入位置:
將插入位置設(shè)置為文檔開頭
Set insertRange = ActiveDocument.Range(0, 0)
ActiveDocument.Range(0, 0)
表示從文檔的第0個(gè)字符位置開始
到第0個(gè)字符位置結(jié)束,即文檔開頭
如果要在文檔的其他位置插入表格
可以調(diào)整Range的起始和結(jié)束位置。
例如:
Set insertRange = ActiveDocument.Range(10, 10)
在文檔的第10個(gè)字符位置插入表格。
在文檔的末尾插入表格
Set insertRange = ActiveDocument.Content
在當(dāng)前選中的位置/或光標(biāo)處插入表格
Set insertRange = Selection.Range
使用Style屬性設(shè)置文檔第一個(gè)表格樣式
Sub SelectAndStyleTable()
' 設(shè)置表格樣式
' 確保Word中存在名為“網(wǎng)格型”的樣式,否則會(huì)引發(fā)錯(cuò)誤
On Error Resume Next
ActiveDocument.Tables(1).Style = "網(wǎng)格型"
On Error GoTo 0
End Sub
代碼說(shuō)明:
On Error Resume Next
忽略錯(cuò)誤繼續(xù)執(zhí)行代碼
例如樣式名稱不存在的情況
“網(wǎng)格型”表格樣式不存在時(shí)程序會(huì)報(bào)錯(cuò)
ActiveDocument.Tables(1).Style = "網(wǎng)格型"
嘗試將表格樣式設(shè)置為“網(wǎng)格型”
On Error GoTo 0
恢復(fù)正常的錯(cuò)誤處理
插入行:使用Rows.Add方法
刪除行:使用Rows.Delete方法
插入列:使用Columns.Add方法
刪除列:使用Columns.Delete方法
Sub RowsAndCol()
' 在第一個(gè)表格最后一行后插入一行
ActiveDocument.Tables(1).Rows.Add
' 刪除第一個(gè)表格第一行
ActiveDocument.Tables(1).Rows(1).Delete
' 在第一個(gè)表格最后一列后插入一列
ActiveDocument.Tables(1).Columns.Add
' 刪除第一個(gè)表格第一列
ActiveDocument.Tables(1).Columns(1).Delete
End Sub
合并單元格:使用Merge方法
拆分單元格:使用Split方法
Sub MergeTable()
'合并第一個(gè)表格的第一行的前兩個(gè)單元格
With ActiveDocument.Tables(1).Rows(1).Cells
.Item(1).Merge MergeTo:=.Item(2)
End With
'將第一個(gè)表格的第一個(gè)單元格拆分為2行1列
ActiveDocument.Tables(1).Cell(1, 1).Split numRows:=2, numColumns:=1
End Sub
獲取/修改Word表格單元格內(nèi)容
使用單元格的Range.Text屬性賦值來(lái)獲取或修改內(nèi)容
'將第一個(gè)表格第一個(gè)單元格內(nèi)容改為Hello
Sub ModifyFirstTableCell()
ActiveDocument.Tables(1).Cell(1, 1).Range.Text = "Hello"
End Sub
'顯示第一個(gè)表格第一個(gè)單元格內(nèi)容
Sub FirstTableCell()
MsgBox ActiveDocument.Tables(1).Cell(1, 1).Range.Text
End Sub
閱讀原文:原文鏈接
該文章在 2025/2/5 18:32:42 編輯過(guò)