在EXCEL中用VBA處理WORD表格常規(guī)屬性_第1頁(yè)
在EXCEL中用VBA處理WORD表格常規(guī)屬性_第2頁(yè)
在EXCEL中用VBA處理WORD表格常規(guī)屬性_第3頁(yè)
在EXCEL中用VBA處理WORD表格常規(guī)屬性_第4頁(yè)
在EXCEL中用VBA處理WORD表格常規(guī)屬性_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、VBA在EXCEL中操作WORD表格之五 第 25 頁(yè) 共 25 頁(yè)在EXCEL中用VBA設(shè)置WORD表格常規(guī)屬性編輯:madmlwt1計(jì)算WORD文檔中的表格個(gè)數(shù)【要求】在EXCEL中用VBA計(jì)算指定的WORD文檔“成績(jī)表.doc”中非嵌入式表格的個(gè)數(shù)?!敬a】Sub 計(jì)算WORD表格個(gè)數(shù)()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Ap

2、plication") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象bgS = dkDOC.Tables.Count '當(dāng)前文檔中的表格總數(shù)dkDOC.Close '關(guān)閉文檔Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間MsgBox Chr(10) & Dir(dqM) & " 文檔中共有 " & bgS & " 個(gè)表格!", ,

3、 "計(jì)算WORD表格個(gè)數(shù)"Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub提示:嵌入式表格如WORD文檔中插入的EXCEL表格、表格中插入的表格。計(jì)算表格個(gè)數(shù)的代碼格式文檔對(duì)象. Tables.Count上述方法不能計(jì)算WORD文檔中的嵌入式表格個(gè)數(shù)。2計(jì)算WORD文檔中各個(gè)表格的行/列數(shù)【要求】在EXCEL中,遍歷WORD文檔“成績(jī)表.doc”中的表格,計(jì)算表格的行數(shù)和列數(shù)?!敬a】Sub 計(jì)算指定WORD文檔中表格行列數(shù)()Application.ScreenUpdating = False '關(guān)閉屏幕刷

4、新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象bgS = dkDOC.Tables.Count '當(dāng)前文檔中的表格總數(shù)For g = 1 To bgS '循環(huán)表格 With dkDOC.Tables(g) '逐個(gè)表格計(jì)算 hs = .Row

5、s.Count '行數(shù) ls = .Columns.Count '列數(shù) MsgBox Chr(10) & Dir(dqM) & " 文檔共有表格 " & bgS & " 個(gè)" _ & Chr(10) & Chr(10) & "第 " & g & " 個(gè)表格有 " & hs & " 行 " & ls & " 列", , "計(jì)算WORD表格行列數(shù)&qu

6、ot; '計(jì)算信息提示 End WithNext gdkDOC.Close '關(guān)閉文檔Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub提示:計(jì)算行數(shù)代碼格式文檔對(duì)象.表格對(duì)象.Rows.Count計(jì)算列數(shù)代碼格式文檔對(duì)象.表格對(duì)象.Columns.Count上述方法不能計(jì)算嵌入式表格的行/列數(shù)。3選定WORD表格的指定區(qū)域選定整個(gè)表格【代碼】Sub 選擇WORD文檔的指定表格整體()Applica

7、tion.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)'wdWORD.ActiveDocument.Tables(1).Sel

8、ect '選擇整個(gè)表格wdWORD.ActiveDocument.Tables(1).Range.Select '選擇整個(gè)表格'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub選定一個(gè)單元格【代碼】Sub 選擇WORD表格的第一個(gè)單元格()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM =

9、 ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)Set wdBG = wdWORD.ActiveDocument.Tables(1) '創(chuàng)建表格對(duì)象wdBG.Cell(1, 1).Select '選擇

10、第一個(gè)單元格'wdBG.Cell(1, 1).Range.Select '選擇第一個(gè)單元格'wdWORD.Quit '關(guān)閉新建文檔窗口Set wdBG = Nothing '釋放存儲(chǔ)空間Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub選定表格最后一個(gè)單元格【代碼】Sub 選擇WORD表格的最后一個(gè)單元格()Application.ScreenUpdating = False

11、 '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象hs = wdWORD.ActiveDocument.Tables(1).Rows.Count '行數(shù)ls = wdWORD.ActiveDocument.Tables(1).Column

12、s.Count '列數(shù)wdWORD.Visible = True '窗口可見(jiàn)Set wdBG = wdWORD.ActiveDocument.Tables(1) '創(chuàng)建表格對(duì)象wdBG.Cell(hs, ls).Range.Select '選擇最后一個(gè)單元格'wdWORD.Quit '關(guān)閉新建文檔窗口Set wdBG = Nothing '釋放存儲(chǔ)空間Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = Fal

13、se '關(guān)閉屏幕刷新End Sub注意:一個(gè)表格的最后一個(gè)單元格由表格的最后一行hs和最后一列l(wèi)s圍成的一個(gè)方格。所以表格最后一個(gè)單元格的代碼格式是.Cell(hs,ls)。選定指定行/列【代碼】Sub 選擇WORD表格指定行()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Wor

14、d對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)wdWORD.ActiveDocument.Tables(1).Rows(3).Select '選擇第3行'wdWORD.ActiveDocument.Tables(1).Rows(3).Range.Select '選擇第3行'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放

15、存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End SubSub 選擇WORD表格指定列()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) &

16、#39;創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)wdWORD.ActiveDocument.Tables(1).Columns(3).Select '選擇第3列'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub【提示】選擇最后一行hs = wdWORD.ActiveDocument.Tables(1).Rows.C

17、ount '行數(shù)wdWORD.ActiveDocument.Tables(1).Rows(hs).Select選擇最后一列l(wèi)s = wdWORD.ActiveDocument.Tables(1).Columns.Count '列數(shù)wdWORD.ActiveDocument.Tables(1).Columns(ls).Select選定WORD表格中任意連續(xù)區(qū)域選擇連續(xù)行【代碼】Sub 選擇WORD表格指定的連續(xù)行()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成

18、績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set wDoc = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)Set wBG = wDoc.Tables(1) '定義表格變量wDoc.Range(wBG.Cell(2, 1).Range.Start, wBG.Cell(wBG.Rows.Count, wBG.Columns.Count

19、).Range.End).Select '選擇第2行到最后一行'wdWORD.Quit '關(guān)閉新建文檔窗口Set wBG = Nothing '釋放存儲(chǔ)空間Set wDoc = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub選擇任意列【代碼】Sub 選擇WORD表格任意指定的連續(xù)列()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWork

20、book.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set wDoc = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)Set wBG = wDoc.Tables(1) '定義表格變量wDoc.Range(wBG.Cell(1, 4).Range.Start, wBG.Cell(wBG.Rows.C

21、ount, 7).Range.End).Select '選擇第4列到第7列'wdWORD.Quit '關(guān)閉新建文檔窗口Set wBG = Nothing '釋放存儲(chǔ)空間Set wDoc = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說(shuō)明:列沒(méi)有Range對(duì)象屬性。所以在選擇連續(xù)列時(shí)不能使用如下代碼:wDoc.Range(wBG.Columns(4).Range.Start, wBG.Columns(

22、7).Range.End).Select '選擇第4列到第7列選擇任意連續(xù)單元格區(qū)域【代碼】Sub 選擇WORD表格任意指定的連續(xù)單元格區(qū)域()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set wDoc = wdWORD.Documents.Open(dqM)

23、'創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)Set wBG = wDoc.Tables(1) '定義表格變量wDoc.Range(wBG.Cell(5, 4).Range.Start, wBG.Cell(7, 7).Range.End).Select '選擇第5行4列到第7行7列構(gòu)成的單元格區(qū)域'wdWORD.Quit '關(guān)閉新建文檔窗口Set wBG = Nothing '釋放存儲(chǔ)空間Set wDoc = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間App

24、lication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub【小結(jié)】選擇WORD表格中的任意連續(xù)區(qū)域,關(guān)鍵是確定起始位置和終止位置。選擇任意連續(xù)單元格區(qū)域的關(guān)鍵代碼格式如下:文檔對(duì)象.Range(表格對(duì)象.Cell(起始行, 起始列).Range.Start, 表格對(duì)象.Cell(終止行, 終止列).Range.End).Select4設(shè)置WORD表格的單元格格式設(shè)置WORD表格的單元格格式,包括單元格中的文本對(duì)齊格式和文字的字體、字號(hào)、是否加粗等格式。WORD表格單元格中的文本的對(duì)齊格式,是指段落在水平方向的對(duì)齊方式和在垂直方向的對(duì)齊方式。所以在設(shè)置單

25、元格的對(duì)齊方式時(shí),一要設(shè)置單元格中的文本段落在水平方向的對(duì)齊方式即左對(duì)齊、居中、右對(duì)齊,二要設(shè)置文本在垂直方向的對(duì)齊方式即靠上、居中、靠下?!締?wèn)題】以WORD文檔“成績(jī)表.doc”為例,設(shè)置標(biāo)題行各單元格數(shù)據(jù)“中部居中(即水平居中且垂直居中)”、“華文新魏”、字號(hào)“12”、“加粗”?!敬a】Sub 設(shè)置WORD表格的單元格格式()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateOb

26、ject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)Set wdBG = wdWORD.ActiveDocument.Tables(1) '創(chuàng)建表格對(duì)象With wdBG.Rows(1).Range '表格第1行 .Font.Bold = True '加粗 .Font.Size = 12 '字號(hào) .Font.Name = "華文新魏"

27、; '字體 .ParagraphFormat.Alignment = 1 '水平居中 .Cells.VerticalAlignment = 1 '垂直居中End With'wdWORD.Quit '關(guān)閉新建文檔窗口Set wdBG = Nothing '釋放存儲(chǔ)空間Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說(shuō)明:?jiǎn)卧駭?shù)據(jù)居中即WORD程序菜單命令“表格/單元

28、格對(duì)齊方式”的“中部居中”,指水平居中和垂直居中。代碼如下:水平居中單元格對(duì)象.ParagraphFormat.Alignment = 1垂直居中單元格對(duì)象.Cells.VerticalAlignment = 1單元格對(duì)齊方式常量一覽表名稱(chēng)常量代碼賦值靠上兩端對(duì)齊wdAlignParagraphJustify 3wdCellAlignVerticalTop0靠上居中wdAlignParagraphCenter1wdCellAlignVerticalTop0靠上右對(duì)齊wdAlignParagraphRight2wdCellAlignVerticalTop0中部?jī)啥藢?duì)齊wdAlignParagra

29、phJustify3wdCellAlignVerticalCenter1中部居中wdAlignParagraphCenter1wdCellAlignVerticalCenter1中部右對(duì)齊wdAlignParagraphRight2wdCellAlignVerticalCenter1靠下兩端對(duì)齊wdAlignParagraphJustify3wdCellAlignVerticalBottom3靠下居中wdAlignParagraphCenter1wdCellAlignVerticalBottom3靠下右對(duì)齊wdAlignParagraphRight2wdCellAlignVerticalBot

30、tom3注意哦,表中的常量代碼,在EXCEL中操作WORD時(shí),由于后期綁定原因,必須用對(duì)應(yīng)的賦值取代方可體現(xiàn)效果!5設(shè)置WORD表格的對(duì)齊格式在WORD文檔中的表格對(duì)齊,主要是指表格在頁(yè)面水平方向的對(duì)齊,即左對(duì)齊、居中、右對(duì)齊。對(duì)應(yīng)WORD程序菜單命令“表格/表格屬性/表格”中的三種對(duì)齊方式?!敬a】Sub 設(shè)置WORD文檔中的表格對(duì)齊()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = Cr

31、eateObject("Word.Application") '定義一個(gè)Word對(duì)象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)dkDOC.Tables(1).Rows.Alignment = 1 '水平居中'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.ScreenUpdati

32、ng = False '關(guān)閉屏幕刷新End Sub6在WORD表格中插入(刪除)行/列插入行/列【問(wèn)題】與當(dāng)前操作的EXCEL文件保存在同一位置的WORD文檔“放假通知.doc”中,第一個(gè)表格有2行10列,在表格選定行的上/下方或者左/右側(cè)插入新行/列(一行/列或多行/列)。在指定行的上/下插入行【代碼】Sub 在指定行的上下插入行()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱(chēng)Set wApp = Cr

33、eateObject("Word.Application")'創(chuàng)建WORD對(duì)象Set wDoc = wApp.documents.Open(dqM) '創(chuàng)建文檔對(duì)象wApp.Visible = True '窗口可見(jiàn)wDoc.Tables(1).Rows(2).Select '選擇指定行(第2行,可以根據(jù)表格實(shí)際行數(shù)修改此數(shù)字值)wDoc.Application.Selection.InsertRowsAbove 3 '指定行上方插入3行'wDoc.Application.Selection.InsertRowsBelow 3

34、'指定行下方插入3行Zh = wDoc.Tables(1).Rows.Count '計(jì)算插入新行后的表格總行數(shù)MsgBox "成功新插入 3 行, 當(dāng)前表格共有 " & Zh & " 行", , "在指定列的上下插入行"'wDoc.Close True'wApp.QuitSet wApp = NothingSet wDoc = NothingApplication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說(shuō)明:wDoc.Application.S

35、election.InsertRowsAbove 3在所選擇行的上方新插入3行。如果執(zhí)行代碼wDoc.Application.Selection.InsertRowsBelow 3,則是在所選擇行的下方新插入3行。在指定列的左/右插入列【代碼】Sub在指定列的左右插入列()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱(chēng)Set wApp = CreateObject("Word.Application&qu

36、ot;)'創(chuàng)建WORD對(duì)象Set wDoc = wApp.documents.Open(dqM) '創(chuàng)建文檔對(duì)象wApp.Visible = True '窗口可見(jiàn)Set myB = wDoc.Tables(1) '表格對(duì)象wDoc.Tables(1)表格行 = myB.Rows.Count '總行數(shù)表格列 = myB.Columns.Count '總列數(shù)wDoc.Range(myB.Cell(1, Cells(2, 10).Value).Range.Start, myB.Cell(表格行, Cells(2, 11).Value).Range.En

37、d).Select '選擇插入位置列crL = myB.Selection.Columns.Count '計(jì)算所選擇的列數(shù)wDoc.Application.Selection.InsertColumns '指定行左側(cè)插入行'wDoc.Application.Selection.InsertColumnsRight '指定行右側(cè)插入行End IfzL = wDoc.Tables(1).Columns.Count '計(jì)算插入新列后的表格總列數(shù)MsgBox "成功新插入 " & zL-表格列 & " 列,

38、當(dāng)前表格共有 " & zL & " 列", , "插入新列"'wDoc.Close True'wApp.QuitSet wApp = NothingSet wDoc = NothingApplication.ScreenUpdating = False '關(guān)閉屏幕刷End Sub說(shuō)明:選擇列左側(cè)插入新列InsertColumns選擇列右側(cè)插入新列InsertColumnsRight選擇多少列則插入多少新列。特別地,還可以用Add方法進(jìn)行插入行/列,但這種方法只能在上方或左側(cè)接入,不具備靈活性,此處不作討論

39、。刪除行/列【問(wèn)題】與當(dāng)前操作的EXCEL文件保存在同一位置的WORD文檔“放假通知.doc”中,第一個(gè)表格有2行10列,在表格中刪除選定的行列。刪除行【代碼】Sub 刪除表格中選定的行()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱(chēng)Set wApp = CreateObject("Word.Application") '創(chuàng)建WORD對(duì)象Set wDoc = wApp.document

40、s.Open(dqM) '創(chuàng)建文檔對(duì)象wApp.Visible = True '窗口可見(jiàn)Set myB = wDoc.Tables(1) '表格對(duì)象表格行 = myB.Rows.Count '總行數(shù)wDoc.Range(myB.Rows(2).Range.Start, myB.Rows(2).Range.End).Select '選擇要?jiǎng)h除的第2行wDoc.Application.Selection.Rows.Delete '刪除選中的行zH = wDoc.Tables(1).Rows.Count '計(jì)算刪除行后的表格總行數(shù)MsgBox

41、"成功刪除了選定的 " & 表格行 - zH & " 行, 當(dāng)前表格還有 " & zH & " 行", , "刪除行"'wDoc.Close True'wApp.QuitSet wApp = NothingSet wDoc = NothingApplication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub刪除列【代碼】Sub 刪除表格中選定的列()Application.ScreenUpdating = False '

42、關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱(chēng)Set wApp = CreateObject("Word.Application") '創(chuàng)建WORD對(duì)象Set wDoc = wApp.documents.Open(dqM) '創(chuàng)建文檔對(duì)象wApp.Visible = True '窗口可見(jiàn)Set myB = wDoc.Tables(1) '表格對(duì)象表格行 = myB.Rows.Count '總行數(shù)表格列 = myB.Columns.Co

43、unt '總列數(shù)wDoc.Range(myB.Cell(1, 2).Range.Start, myB.Cell(表格行, 4).Range.End).Select '選擇刪除的第2至4列wDoc.Application.Selection.Columns.Delete '刪除選中的列zL = wDoc.Tables(1).Columns.Count '計(jì)算刪除列后的表格列數(shù)MsgBox "成功刪除了選定的 " & 表格列 - zL & " 列, 當(dāng)前表格還有 " & zL & "

44、列", , "刪除列"'wDoc.Close True'wApp.QuitSet wApp = NothingSet wDoc = NothingApplication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub7設(shè)置表格行高列寬【問(wèn)題】設(shè)置WORD文檔“行高列寬.doc”中表格的行高25磅和列寬36磅,標(biāo)題行高另設(shè)30磅?!敬a】Sub 設(shè)置表格行高列寬()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path &

45、"放假通知.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)Set myB = dkDOC.Tables(1) '表格對(duì)象hs = myB.Rows.Count '總行數(shù)ls = myB.Columns.Count '總列數(shù)With myB F

46、or h = 1 To hs If h = 1 Then .Rows(1).Height = 30 '第一行高 ElseIf h > 1 Then .Rows(h).Height = 25 '行高 End If Next h For l = 1 To ls .Columns(l).PreferredWidth = 36 '列寬 Next lEnd With'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲(chǔ)空間Set wdWORD = Nothing '釋放存儲(chǔ)空間Application.S

47、creenUpdating = False '關(guān)閉屏幕刷新End Sub說(shuō)明:在WORD表格中,常用厘米為單位設(shè)置行高列寬。但在VBA代碼中則需要把厘米轉(zhuǎn)換成磅值。1磅=0.035厘米。比如設(shè)置行高30磅(即行高1.05厘米)的代碼如下:用磅設(shè)置.Rows(1).Height = 30用厘米設(shè)置.Rows(1).Height = Application.CentimetersToPoints(1.05)CentimetersToPoints將計(jì)量單位從厘米轉(zhuǎn)換為磅。8自動(dòng)調(diào)整WORD表格的列寬【問(wèn)題】在WORD文檔“成績(jī)表.doc”中,根據(jù)表格內(nèi)容自動(dòng)調(diào)整列的寬度?!敬a】Sub 根據(jù)

48、表格內(nèi)容自動(dòng)調(diào)整列寬()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)gs = dkDOC.Tables

49、.Count '表格個(gè)數(shù)For s = 1 To gs '從第一個(gè)表格循環(huán)到最后一個(gè)表格 Set myB = dkDOC.Tables(s) '表格對(duì)象 myB.AutoFitBehavior (1) '根據(jù)內(nèi)容自動(dòng)調(diào)整列寬Next s'dkDOC.SaveAs'保存文檔修改'dkDOC.Close'關(guān)閉文檔'wdWORD.Quit '關(guān)閉新建文檔窗口Set myB = Nothing '釋放存儲(chǔ)空間Set dkDOC = NothingSet wdWORD = NothingApplication.Scr

50、eenUpdating = False '關(guān)閉屏幕刷新End Sub說(shuō)明:代碼myB.AutoFitBehavior (1) 中的數(shù)值1,是根據(jù)表格內(nèi)容自動(dòng)調(diào)整列寬的常量設(shè)置值,即1=wdAutoFitContent。根據(jù)表格內(nèi)容自動(dòng)調(diào)整列寬是指表格中所有數(shù)據(jù),以列中最大字符寬度來(lái)調(diào)整該列寬。9設(shè)置表格標(biāo)題行自動(dòng)重復(fù)【問(wèn)題】在WORD文檔“成績(jī)表.doc”中,對(duì)跨頁(yè)表格設(shè)置標(biāo)題行重復(fù)(即一個(gè)表格如果有幾個(gè)頁(yè)面,則每個(gè)頁(yè)面都顯示相同的標(biāo)題行)?!敬a】Sub WORD表格標(biāo)題行重復(fù)()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM =

51、ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對(duì)象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)gs = dkDOC.Tables.Count '表格個(gè)數(shù)For s = 1 To gs '從第一個(gè)表格循環(huán)到最后一個(gè)表格 Set myB = d

52、kDOC.Tables(s) '表格對(duì)象 myB.Rows(1).Select '選擇表格標(biāo)題行 dkDOC.Application.Selection.Rows.HeadingFormat = True '行標(biāo)題重復(fù)Next s'dkDOC.SaveAs'保存文檔修改'dkDOC.Close'關(guān)閉文檔'wdWORD.Quit '關(guān)閉新建文檔窗口Set myB = Nothing '釋放存儲(chǔ)空間Set dkDOC = NothingSet wdWORD = NothingApplication.ScreenUpda

53、ting = False '關(guān)閉屏幕刷新End Sub說(shuō)明:如果直接在WORD文檔中,選定表格標(biāo)題行,運(yùn)行代碼Selection.Rows.HeadingFormat =wdToggle即可達(dá)到標(biāo)題行重復(fù)(重復(fù)執(zhí)行則撤銷(xiāo)標(biāo)題行重復(fù))。當(dāng)然代碼Selection.Rows.HeadingFormat = True 亦可標(biāo)題行重復(fù),True用False替換則是撤銷(xiāo)標(biāo)題行重復(fù)。10設(shè)置WORD表格的邊框格式表格邊框WORD表格邊框分為外邊框和內(nèi)邊框,其邊框設(shè)置代碼格式如下:內(nèi)邊框線(xiàn)文檔表格對(duì)象.InsideLineStyle=線(xiàn)型常量值外邊框線(xiàn)文檔表格對(duì)象.OutsideLineStyle

54、=線(xiàn)型常量值邊框類(lèi)型邊框類(lèi)型常量列表一覽表常量名稱(chēng)值wdBorderLeft左邊框線(xiàn)-2wdBorderRight右邊框線(xiàn)-4wdBorderTop頂端邊框線(xiàn)-1wdBorderBottom底端邊框線(xiàn)-3wdBorderHorizontal水平邊框線(xiàn)-5wdBorderVertical垂直邊框線(xiàn)-6wdBorderDiagonalDown向下對(duì)角線(xiàn)(左上右下)-7wdBorderDiagonalUp向上對(duì)角線(xiàn)(左下右上)-8邊框線(xiàn)型設(shè)置邊框線(xiàn)型設(shè)置值為T(mén)rue_默認(rèn)邊框線(xiàn)、值為False_沒(méi)有邊框線(xiàn),否則可以設(shè)置為如下邊框線(xiàn)型常量之一。邊框線(xiàn)型設(shè)置常量一覽表常量名稱(chēng)值wdLineStyleDa

55、shDot連續(xù)單點(diǎn)劃線(xiàn)5wdLineStyleDashDotDot連續(xù)雙點(diǎn)劃線(xiàn)6wdLineStyleDashDotStroked連續(xù)單點(diǎn)皺褶線(xiàn)20wdLineStyleDashLargeGap連續(xù)長(zhǎng)劃線(xiàn)4wdLineStyleDashSmallGap連續(xù)短劃線(xiàn)3wdLineStyleDot點(diǎn)線(xiàn)2wdLineStyleDouble雙細(xì)實(shí)線(xiàn)7wdLineStyleDoubleWavy雙波浪線(xiàn)19wdLineStyleEmboss3D浮雕3D(陰影上)21wdLineStyleEngrave3D雕刻3D(陰影下)22wdLineStyleInset單細(xì)實(shí)線(xiàn)24wdLineStyleNone無(wú)線(xiàn)(沒(méi)

56、有)0wdLineStyleOutset默認(rèn)細(xì)實(shí)線(xiàn)23wdLineStyleSingle單細(xì)實(shí)線(xiàn)1wdLineStyleSingleWavy單波浪線(xiàn)18wdLineStyleThickThinLargeGap厚簿大間隙雙線(xiàn)16wdLineStyleThickThinMedGap厚簿標(biāo)準(zhǔn)間隙雙線(xiàn)13wdLineStyleThickThinSmallGap厚簿小間隙雙線(xiàn)10wdLineStyleThinThickLargeGap簿厚大間隙雙線(xiàn)15wdLineStyleThinThickMedGap簿厚大間隙細(xì)實(shí)線(xiàn)雙線(xiàn)12wdLineStyleThinThickSmallGap簿厚小間隙雙線(xiàn)9wdL

57、ineStyleThinThickThinLargeGap簿厚簿大間隙三線(xiàn)17wdLineStyleThinThickThinMedGap簿厚簿標(biāo)準(zhǔn)間隙三線(xiàn)14wdLineStyleThinThickThinSmallGap簿厚簿小間隙三線(xiàn)11wdLineStyleTriple三細(xì)實(shí)線(xiàn)8表格邊框設(shè)置【代碼】Sub 設(shè)置表格邊框()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績(jī)表.doc" '帶路徑的WORD文件名稱(chēng)Set wdWORD = CreateOb

58、ject("Word.Application") '定義一個(gè)Word對(duì)象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對(duì)象wdWORD.Visible = True '窗口可見(jiàn)gs = dkDOC.Tables.Count '表格個(gè)數(shù)For s = 1 To gs '從第一個(gè)表格循環(huán)到最后一個(gè)表格Selection. Set myB = dkDOC.Tables(s) '表格對(duì)象 With myB.Borders .InsideLineStyle = 24 '內(nèi)部單

59、線(xiàn) .OutsideLineStyle = 10 '粗細(xì)小間隙雙線(xiàn) End WithNext s'dkDOC.SaveAs'保存文檔修改'dkDOC.Close'關(guān)閉文檔'wdWORD.Quit '關(guān)閉新建文檔窗口Set myB = Nothing '釋放存儲(chǔ)空間Set dkDOC = NothingSet wdWORD = NothingApplication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說(shuō)明:本事例是對(duì)表格邊框的常規(guī)設(shè)置方法。如果需要對(duì)表格邊框四邊及內(nèi)部(水平、垂直)單獨(dú)個(gè)性設(shè)置,可以按邊框類(lèi)型進(jìn)行單獨(dú)設(shè)置。如對(duì)邊框四邊的左邊框線(xiàn)進(jìn)行設(shè)置,代碼及格式如下:With 文檔表格對(duì)象.Borders(wdBorderLeft) .LineStyle=wdLineStyleThinThickSmallGap'線(xiàn)型.LineWidth=wdLineWidth300pt'線(xiàn)寬.Color=wdColorAutomatic'顏色End With其中wdBorderLeft為邊框類(lèi)型常量、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論