




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VBA在EXCEL中操作WORD表格之五 第 25 頁 共 25 頁在EXCEL中用VBA設(shè)置WORD表格常規(guī)屬性編輯:madmlwt1計(jì)算WORD文檔中的表格個(gè)數(shù)【要求】在EXCEL中用VBA計(jì)算指定的WORD文檔“成績表.doc”中非嵌入式表格的個(gè)數(shù)。【代碼】Sub 計(jì)算WORD表格個(gè)數(shù)()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Ap
2、plication") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象bgS = dkDOC.Tables.Count '當(dāng)前文檔中的表格總數(shù)dkDOC.Close '關(guān)閉文檔Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間MsgBox Chr(10) & Dir(dqM) & " 文檔中共有 " & bgS & " 個(gè)表格!", ,
3、 "計(jì)算WORD表格個(gè)數(shù)"Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub提示:嵌入式表格如WORD文檔中插入的EXCEL表格、表格中插入的表格。計(jì)算表格個(gè)數(shù)的代碼格式文檔對象. Tables.Count上述方法不能計(jì)算WORD文檔中的嵌入式表格個(gè)數(shù)。2計(jì)算WORD文檔中各個(gè)表格的行/列數(shù)【要求】在EXCEL中,遍歷WORD文檔“成績表.doc”中的表格,計(jì)算表格的行數(shù)和列數(shù)?!敬a】Sub 計(jì)算指定WORD文檔中表格行列數(shù)()Application.ScreenUpdating = False '關(guān)閉屏幕刷
4、新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象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 '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub提示:計(jì)算行數(shù)代碼格式文檔對象.表格對象.Rows.Count計(jì)算列數(shù)代碼格式文檔對象.表格對象.Columns.Count上述方法不能計(jì)算嵌入式表格的行/列數(shù)。3選定WORD表格的指定區(qū)域選定整個(gè)表格【代碼】Sub 選擇WORD文檔的指定表格整體()Applica
7、tion.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見'wdWORD.ActiveDocument.Tables(1).Sel
8、ect '選擇整個(gè)表格wdWORD.ActiveDocument.Tables(1).Range.Select '選擇整個(gè)表格'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub選定一個(gè)單元格【代碼】Sub 選擇WORD表格的第一個(gè)單元格()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM =
9、 ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見Set wdBG = wdWORD.ActiveDocument.Tables(1) '創(chuàng)建表格對象wdBG.Cell(1, 1).Select '選擇
10、第一個(gè)單元格'wdBG.Cell(1, 1).Range.Select '選擇第一個(gè)單元格'wdWORD.Quit '關(guān)閉新建文檔窗口Set wdBG = Nothing '釋放存儲空間Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub選定表格最后一個(gè)單元格【代碼】Sub 選擇WORD表格的最后一個(gè)單元格()Application.ScreenUpdating = False
11、 '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象hs = wdWORD.ActiveDocument.Tables(1).Rows.Count '行數(shù)ls = wdWORD.ActiveDocument.Tables(1).Column
12、s.Count '列數(shù)wdWORD.Visible = True '窗口可見Set wdBG = wdWORD.ActiveDocument.Tables(1) '創(chuàng)建表格對象wdBG.Cell(hs, ls).Range.Select '選擇最后一個(gè)單元格'wdWORD.Quit '關(guān)閉新建文檔窗口Set wdBG = Nothing '釋放存儲空間Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間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 & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Wor
14、d對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見wdWORD.ActiveDocument.Tables(1).Rows(3).Select '選擇第3行'wdWORD.ActiveDocument.Tables(1).Rows(3).Range.Select '選擇第3行'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放
15、存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End SubSub 選擇WORD表格指定列()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) &
16、#39;創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見wdWORD.ActiveDocument.Tables(1).Columns(3).Select '選擇第3列'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間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、績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set wDoc = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見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 '釋放存儲空間Set wDoc = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub選擇任意列【代碼】Sub 選擇WORD表格任意指定的連續(xù)列()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWork
20、book.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set wDoc = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見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 '釋放存儲空間Set wDoc = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說明:列沒有Range對象屬性。所以在選擇連續(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 & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量Set wDoc = wdWORD.Documents.Open(dqM)
23、'創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見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 '釋放存儲空間Set wDoc = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間App
24、lication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub【小結(jié)】選擇WORD表格中的任意連續(xù)區(qū)域,關(guān)鍵是確定起始位置和終止位置。選擇任意連續(xù)單元格區(qū)域的關(guān)鍵代碼格式如下:文檔對象.Range(表格對象.Cell(起始行, 起始列).Range.Start, 表格對象.Cell(終止行, 終止列).Range.End).Select4設(shè)置WORD表格的單元格格式設(shè)置WORD表格的單元格格式,包括單元格中的文本對齊格式和文字的字體、字號、是否加粗等格式。WORD表格單元格中的文本的對齊格式,是指段落在水平方向的對齊方式和在垂直方向的對齊方式。所以在設(shè)置單
25、元格的對齊方式時(shí),一要設(shè)置單元格中的文本段落在水平方向的對齊方式即左對齊、居中、右對齊,二要設(shè)置文本在垂直方向的對齊方式即靠上、居中、靠下?!締栴}】以WORD文檔“成績表.doc”為例,設(shè)置標(biāo)題行各單元格數(shù)據(jù)“中部居中(即水平居中且垂直居中)”、“華文新魏”、字號“12”、“加粗”。【代碼】Sub 設(shè)置WORD表格的單元格格式()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateOb
26、ject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見Set wdBG = wdWORD.ActiveDocument.Tables(1) '創(chuàng)建表格對象With wdBG.Rows(1).Range '表格第1行 .Font.Bold = True '加粗 .Font.Size = 12 '字號 .Font.Name = "華文新魏"
27、; '字體 .ParagraphFormat.Alignment = 1 '水平居中 .Cells.VerticalAlignment = 1 '垂直居中End With'wdWORD.Quit '關(guān)閉新建文檔窗口Set wdBG = Nothing '釋放存儲空間Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說明:單元格數(shù)據(jù)居中即WORD程序菜單命令“表格/單元
28、格對齊方式”的“中部居中”,指水平居中和垂直居中。代碼如下:水平居中單元格對象.ParagraphFormat.Alignment = 1垂直居中單元格對象.Cells.VerticalAlignment = 1單元格對齊方式常量一覽表名稱常量代碼賦值靠上兩端對齊wdAlignParagraphJustify 3wdCellAlignVerticalTop0靠上居中wdAlignParagraphCenter1wdCellAlignVerticalTop0靠上右對齊wdAlignParagraphRight2wdCellAlignVerticalTop0中部兩端對齊wdAlignParagra
29、phJustify3wdCellAlignVerticalCenter1中部居中wdAlignParagraphCenter1wdCellAlignVerticalCenter1中部右對齊wdAlignParagraphRight2wdCellAlignVerticalCenter1靠下兩端對齊wdAlignParagraphJustify3wdCellAlignVerticalBottom3靠下居中wdAlignParagraphCenter1wdCellAlignVerticalBottom3靠下右對齊wdAlignParagraphRight2wdCellAlignVerticalBot
30、tom3注意哦,表中的常量代碼,在EXCEL中操作WORD時(shí),由于后期綁定原因,必須用對應(yīng)的賦值取代方可體現(xiàn)效果!5設(shè)置WORD表格的對齊格式在WORD文檔中的表格對齊,主要是指表格在頁面水平方向的對齊,即左對齊、居中、右對齊。對應(yīng)WORD程序菜單命令“表格/表格屬性/表格”中的三種對齊方式?!敬a】Sub 設(shè)置WORD文檔中的表格對齊()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱Set wdWORD = Cr
31、eateObject("Word.Application") '定義一個(gè)Word對象變量Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見dkDOC.Tables(1).Rows.Alignment = 1 '水平居中'wdWORD.Quit '關(guān)閉新建文檔窗口Set dkDOC = Nothing '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.ScreenUpdati
32、ng = False '關(guān)閉屏幕刷新End Sub6在WORD表格中插入(刪除)行/列插入行/列【問題】與當(dāng)前操作的EXCEL文件保存在同一位置的WORD文檔“放假通知.doc”中,第一個(gè)表格有2行10列,在表格選定行的上/下方或者左/右側(cè)插入新行/列(一行/列或多行/列)。在指定行的上/下插入行【代碼】Sub 在指定行的上下插入行()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱Set wApp = Cr
33、eateObject("Word.Application")'創(chuàng)建WORD對象Set wDoc = wApp.documents.Open(dqM) '創(chuàng)建文檔對象wApp.Visible = True '窗口可見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說明: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文件名稱Set wApp = CreateObject("Word.Application&qu
36、ot;)'創(chuàng)建WORD對象Set wDoc = wApp.documents.Open(dqM) '創(chuàng)建文檔對象wApp.Visible = True '窗口可見Set myB = wDoc.Tables(1) '表格對象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說明:選擇列左側(cè)插入新列InsertColumns選擇列右側(cè)插入新列InsertColumnsRight選擇多少列則插入多少新列。特別地,還可以用Add方法進(jìn)行插入行/列,但這種方法只能在上方或左側(cè)接入,不具備靈活性,此處不作討論
39、。刪除行/列【問題】與當(dāng)前操作的EXCEL文件保存在同一位置的WORD文檔“放假通知.doc”中,第一個(gè)表格有2行10列,在表格中刪除選定的行列。刪除行【代碼】Sub 刪除表格中選定的行()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "放假通知.doc" '帶路徑的WORD文件名稱Set wApp = CreateObject("Word.Application") '創(chuàng)建WORD對象Set wDoc = wApp.document
40、s.Open(dqM) '創(chuàng)建文檔對象wApp.Visible = True '窗口可見Set myB = wDoc.Tables(1) '表格對象表格行 = myB.Rows.Count '總行數(shù)wDoc.Range(myB.Rows(2).Range.Start, myB.Rows(2).Range.End).Select '選擇要刪除的第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文件名稱Set wApp = CreateObject("Word.Application") '創(chuàng)建WORD對象Set wDoc = wApp.documents.Open(dqM) '創(chuàng)建文檔對象wApp.Visible = True '窗口可見Set myB = wDoc.Tables(1) '表格對象表格行 = 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è)置表格行高列寬【問題】設(shè)置WORD文檔“行高列寬.doc”中表格的行高25磅和列寬36磅,標(biāo)題行高另設(shè)30磅?!敬a】Sub 設(shè)置表格行高列寬()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path &
45、"放假通知.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見Set myB = dkDOC.Tables(1) '表格對象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 '釋放存儲空間Set wdWORD = Nothing '釋放存儲空間Application.S
47、creenUpdating = False '關(guān)閉屏幕刷新End Sub說明:在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自動調(diào)整WORD表格的列寬【問題】在WORD文檔“成績表.doc”中,根據(jù)表格內(nèi)容自動調(diào)整列的寬度?!敬a】Sub 根據(jù)
48、表格內(nèi)容自動調(diào)整列寬()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見gs = dkDOC.Tables
49、.Count '表格個(gè)數(shù)For s = 1 To gs '從第一個(gè)表格循環(huán)到最后一個(gè)表格 Set myB = dkDOC.Tables(s) '表格對象 myB.AutoFitBehavior (1) '根據(jù)內(nèi)容自動調(diào)整列寬Next s'dkDOC.SaveAs'保存文檔修改'dkDOC.Close'關(guān)閉文檔'wdWORD.Quit '關(guān)閉新建文檔窗口Set myB = Nothing '釋放存儲空間Set dkDOC = NothingSet wdWORD = NothingApplication.Scr
50、eenUpdating = False '關(guān)閉屏幕刷新End Sub說明:代碼myB.AutoFitBehavior (1) 中的數(shù)值1,是根據(jù)表格內(nèi)容自動調(diào)整列寬的常量設(shè)置值,即1=wdAutoFitContent。根據(jù)表格內(nèi)容自動調(diào)整列寬是指表格中所有數(shù)據(jù),以列中最大字符寬度來調(diào)整該列寬。9設(shè)置表格標(biāo)題行自動重復(fù)【問題】在WORD文檔“成績表.doc”中,對跨頁表格設(shè)置標(biāo)題行重復(fù)(即一個(gè)表格如果有幾個(gè)頁面,則每個(gè)頁面都顯示相同的標(biāo)題行)。【代碼】Sub WORD表格標(biāo)題行重復(fù)()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM =
51、ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateObject("Word.Application") '定義一個(gè)Word對象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見gs = dkDOC.Tables.Count '表格個(gè)數(shù)For s = 1 To gs '從第一個(gè)表格循環(huán)到最后一個(gè)表格 Set myB = d
52、kDOC.Tables(s) '表格對象 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 '釋放存儲空間Set dkDOC = NothingSet wdWORD = NothingApplication.ScreenUpda
53、ting = False '關(guān)閉屏幕刷新End Sub說明:如果直接在WORD文檔中,選定表格標(biāo)題行,運(yùn)行代碼Selection.Rows.HeadingFormat =wdToggle即可達(dá)到標(biāo)題行重復(fù)(重復(fù)執(zhí)行則撤銷標(biāo)題行重復(fù))。當(dāng)然代碼Selection.Rows.HeadingFormat = True 亦可標(biāo)題行重復(fù),True用False替換則是撤銷標(biāo)題行重復(fù)。10設(shè)置WORD表格的邊框格式表格邊框WORD表格邊框分為外邊框和內(nèi)邊框,其邊框設(shè)置代碼格式如下:內(nèi)邊框線文檔表格對象.InsideLineStyle=線型常量值外邊框線文檔表格對象.OutsideLineStyle
54、=線型常量值邊框類型邊框類型常量列表一覽表常量名稱值wdBorderLeft左邊框線-2wdBorderRight右邊框線-4wdBorderTop頂端邊框線-1wdBorderBottom底端邊框線-3wdBorderHorizontal水平邊框線-5wdBorderVertical垂直邊框線-6wdBorderDiagonalDown向下對角線(左上右下)-7wdBorderDiagonalUp向上對角線(左下右上)-8邊框線型設(shè)置邊框線型設(shè)置值為True_默認(rèn)邊框線、值為False_沒有邊框線,否則可以設(shè)置為如下邊框線型常量之一。邊框線型設(shè)置常量一覽表常量名稱值wdLineStyleDa
55、shDot連續(xù)單點(diǎn)劃線5wdLineStyleDashDotDot連續(xù)雙點(diǎn)劃線6wdLineStyleDashDotStroked連續(xù)單點(diǎn)皺褶線20wdLineStyleDashLargeGap連續(xù)長劃線4wdLineStyleDashSmallGap連續(xù)短劃線3wdLineStyleDot點(diǎn)線2wdLineStyleDouble雙細(xì)實(shí)線7wdLineStyleDoubleWavy雙波浪線19wdLineStyleEmboss3D浮雕3D(陰影上)21wdLineStyleEngrave3D雕刻3D(陰影下)22wdLineStyleInset單細(xì)實(shí)線24wdLineStyleNone無線(沒
56、有)0wdLineStyleOutset默認(rèn)細(xì)實(shí)線23wdLineStyleSingle單細(xì)實(shí)線1wdLineStyleSingleWavy單波浪線18wdLineStyleThickThinLargeGap厚簿大間隙雙線16wdLineStyleThickThinMedGap厚簿標(biāo)準(zhǔn)間隙雙線13wdLineStyleThickThinSmallGap厚簿小間隙雙線10wdLineStyleThinThickLargeGap簿厚大間隙雙線15wdLineStyleThinThickMedGap簿厚大間隙細(xì)實(shí)線雙線12wdLineStyleThinThickSmallGap簿厚小間隙雙線9wdL
57、ineStyleThinThickThinLargeGap簿厚簿大間隙三線17wdLineStyleThinThickThinMedGap簿厚簿標(biāo)準(zhǔn)間隙三線14wdLineStyleThinThickThinSmallGap簿厚簿小間隙三線11wdLineStyleTriple三細(xì)實(shí)線8表格邊框設(shè)置【代碼】Sub 設(shè)置表格邊框()Application.ScreenUpdating = False '關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & "成績表.doc" '帶路徑的WORD文件名稱Set wdWORD = CreateOb
58、ject("Word.Application") '定義一個(gè)Word對象變量后期綁定Set dkDOC = wdWORD.Documents.Open(dqM) '創(chuàng)建文檔對象wdWORD.Visible = True '窗口可見gs = dkDOC.Tables.Count '表格個(gè)數(shù)For s = 1 To gs '從第一個(gè)表格循環(huán)到最后一個(gè)表格Selection. Set myB = dkDOC.Tables(s) '表格對象 With myB.Borders .InsideLineStyle = 24 '內(nèi)部單
59、線 .OutsideLineStyle = 10 '粗細(xì)小間隙雙線 End WithNext s'dkDOC.SaveAs'保存文檔修改'dkDOC.Close'關(guān)閉文檔'wdWORD.Quit '關(guān)閉新建文檔窗口Set myB = Nothing '釋放存儲空間Set dkDOC = NothingSet wdWORD = NothingApplication.ScreenUpdating = False '關(guān)閉屏幕刷新End Sub說明:本事例是對表格邊框的常規(guī)設(shè)置方法。如果需要對表格邊框四邊及內(nèi)部(水平、垂直)單獨(dú)個(gè)性設(shè)置,可以按邊框類型進(jìn)行單獨(dú)設(shè)置。如對邊框四邊的左邊框線進(jìn)行設(shè)置,代碼及格式如下:With 文檔表格對象.Borders(wdBorderLeft) .LineStyle=wdLineStyleThinThickSmallGap'線型.LineWidth=wdLineWidth300pt'線寬.Color=wdColorAutomatic'顏色End With其中wdBorderLeft為邊框類型常量、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 非訴訟合同協(xié)議
- 集訓(xùn)教練聘用合同協(xié)議
- 長租商鋪轉(zhuǎn)讓合同協(xié)議
- 除塵設(shè)備售賣合同協(xié)議
- 風(fēng)力發(fā)電工人合同協(xié)議
- 食堂檔口轉(zhuǎn)租合同協(xié)議
- 露營用品采購合同協(xié)議
- 項(xiàng)目外包勞務(wù)合同協(xié)議
- 長隆項(xiàng)目開發(fā)合同協(xié)議
- 門市業(yè)務(wù)員合同協(xié)議
- 第二章中國體育產(chǎn)業(yè)的發(fā)展與現(xiàn)狀
- 靜脈炎的護(hù)理 課件
- DB3303T078-2024規(guī)模以上工業(yè)企業(yè)健康評價(jià)指標(biāo)體系
- 特種作業(yè)合同協(xié)議
- 社工證考試試題及答案
- 2025年云南專升本招生計(jì)劃
- 2025年寬帶網(wǎng)絡(luò)拓展合作協(xié)議書
- 教學(xué)主管競聘培訓(xùn)機(jī)構(gòu)
- 【9語期末】黃山市歙縣2024-2025學(xué)年九年級上學(xué)期期末語文試題
- 血液安全管理制度
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
評論
0/150
提交評論