Word VBA常用代碼合集
▎寫在前面
都說寫VBA像累積木,除了核心部分的循環(huán)邏輯思路,其余都是再堆砌代碼。這篇文章就羅列一下我在寫Word VBA程序中,常用的一些代碼。

今天先介紹操作Word表格部分。
?新建表格
在光標(biāo)位置,新建一個(gè)1行3列的表格,邊框線設(shè)置為實(shí)線。
sub testSet tb = ActiveDocument.Tables.Add(Selection.Range, 1, 3)tb.Style?=?"網(wǎng)格型"end sub
?向表格里面寫入值
兩種方式
Sub 第一種寫入方法()Dim t As TableSet t = ActiveDocument.Tables(1)1).Range = 1End SubSub 第二種寫入方法()Set t = ActiveDocument.Tables(1).RangeFor i = 1 To t.Cells.Count= iNextEnd Sub
?設(shè)置表格列寬
設(shè)置表格的列寬,其中需要注意單位的轉(zhuǎn)換。厘米和磅。
Sub 設(shè)置word表格的寬度()Dim tbl As TableSet tbl = ActiveDocument.Tables(2)= Application.CentimetersToPoints(1.42)= Application.CentimetersToPoints(5.07)= Application.CentimetersToPoints(2.13)= Application.CentimetersToPoints(4.33)= Application.CentimetersToPoints(18.99)End?Sub
?判斷光標(biāo)是否在表格中
利用的是information方法判斷
Sub 判斷光標(biāo)是否在表格里()If Selection.Information(wdWithInTable) = True ThenMsgBox "光標(biāo)在表格里"ElseMsgBox "光標(biāo)不在表格里"End IfEnd?Sub
?表格中插入多行
Sub 表格最后插入2行()Dim myTable As TableSet myTable = ActiveDocument.Tables(1)myTable.Rows.Last.Select2End?Sub
?向表格末尾插入內(nèi)容并居中
利用move方法,移動(dòng)光標(biāo),寫內(nèi)容

Sub 向表格末尾插入內(nèi)容并居中()Dim tbl As Word.TableFor Each tbl In Selection.Range.Tablestbl.Range.Cells(tbl.Range.Cells.Count).SelectSelection.Move wdCharacter, 2Selection.TypeParagraphSelection.Move wdParagraph, -1Selection.TypeText "表格X"Selection.Extend'/字體格式With Selection.Range.Font.Color = -16777216.NameFarEast = "宋體".Size = 10 '字號(hào) 四號(hào).Bold = 0 '加粗為1,不加粗為0End WithWith Selection.ParagraphFormat.LineSpacing = 20 '行間距20磅.Alignment = wdAlignParagraphCenter '居中顯示End WithNextEnd?Sub
?表格居中
內(nèi)容居中,表格整體居中
Sub 向表格末尾插入內(nèi)容并居中()'將表格內(nèi)容調(diào)整為上下,左右居中For Each oTable In oDoc.TablesoTable.AutoFitBehavior (wdAutoFitWindow) '根據(jù)窗口調(diào)整內(nèi)容oTable.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '水平居中oTable.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter '垂直居中oTable.Rows.Alignment = wdAlignRowCenter '表格整體居中NextEnd?Sub
?選中第二頁第一個(gè)表格
Sub test()With Selection.GoTo wdGoToPage, , 2.Bookmarks("\Page").Range.Tables(2).SelectEnd WithEnd?Sub
評(píng)論
圖片
表情
