版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VBA在EXCEL中操作 WORD 表格之五第4頁(yè)共25頁(yè)在EXCEL中用VBA設(shè)置 WOR表格常規(guī)屬性編輯:madmlwt1 計(jì)算WORD文檔中的表格個(gè)數(shù)【要求】在EXCEL中用VBA計(jì)算指定的WORD文檔“成績(jī)表.doc”中非嵌入式表 格的個(gè)數(shù)?!敬a】Sub計(jì)算 WORD表格個(gè)數(shù)()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變量Set dkD
2、OC = wdWORD.Docume nts.Ope n( 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è)表格!, 計(jì)算WORD表格個(gè)數(shù)Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub提示:嵌入式表格如 WORD文檔中插入的EXCEL表格、表格中插入的表格。計(jì)算表格個(gè)數(shù)的代碼格
3、式文檔對(duì)象.Tables.Count上述方法不能計(jì)算 WORD文檔中的嵌入式表格個(gè)數(shù)。2 計(jì)算WORD文檔中各個(gè)表格的行/列數(shù)【要求】在EXCEL中,遍歷WORD文檔“成績(jī)表.doc”中的表格,計(jì)算表格的行數(shù) 和列數(shù)?!敬a】Sub計(jì)算指定 WORD文檔中表格行列數(shù)()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變Set dkDOC = wdWORD
4、.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象bgS = dkDOC.Tables.Cou nt當(dāng)前文檔中的表格總數(shù)For g = 1 To bgS 循環(huán)表格With dkDOC.Tables(g)逐個(gè)表格計(jì)算hs = .Rows.Count 行數(shù)Is = .Columns.Count列數(shù)MsgBox Chr(10) & Dir(dqM) & 文檔共有表格& bgS & 個(gè)& Chr(10) & Chr(10) & 第& g & 個(gè)表格有& hs & 行& ls & 列,計(jì)算WORD表格行列數(shù)計(jì)算信息提示End WithNext gdkDOC.Close 關(guān)閉文檔Set dkDOC
5、 = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = 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文檔的指定表格整體()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路
6、徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn)wdWORD.ActiveDocument.Tables.Select選擇整個(gè)表格 wdWORD.ActiveDocument.Tables.Range.Select 選擇整個(gè)表格 wdWORD.Quit 關(guān)閉新建文檔窗口Set dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋
7、放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub選定一個(gè)單元格【代碼】Sub選擇WORD表格的第一個(gè)單元格()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象VBA在EXCEL 中操作 WORD
8、 表格之五第6頁(yè)共25頁(yè)wdWORD.Visible = True 窗口可見(jiàn)Set wdBG = wdWORD.ActiveDocume nt.Tables(l)創(chuàng)建表格對(duì)象wdBG.Cell(1, 1).Select 選擇第一個(gè)單元格wdBG.Cell(1, 1).Range.Select 選擇第一個(gè)單元格wdWORD.Quit 關(guān)閉新建文檔窗口Set wdBG = Nothing 釋放存儲(chǔ)空間Set dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新En
9、d Sub選定表格最后一個(gè)單元格【代碼】Sub選擇WORD表格的最后一個(gè)單元格()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象hs = wdWORD. ActiveDocume nt.Tables(1).Rows.Cou nt 行數(shù)ls = wdWORD.
10、ActiveDocume nt.Tables(1).Colu mn s.Cou nt 列數(shù) wdWORD.Visible = True 窗口可見(jiàn)Set wdBG = wdWORD.ActiveDocume nt.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ǔ)空間VBA在EXCEL中操作 WORD 表格之五第11頁(yè)共25頁(yè)Applicati on
11、 .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub一個(gè)表格的最后一個(gè)單元格由表格的最后一行hs和最后一列Is圍成的一個(gè)方格。所以表格最后一個(gè)單元格的代碼格式是.Cell(hs,ls。選定指定行/列【代碼】Sub選擇WORD表格指定行()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變 量Set dkDOC = wdWORD
12、.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn)wdWORD.ActiveDocument.Tables.Rows(3).Select 選擇第 3 行wdWORD.ActiveDocument.Tables.Rows(3).Range.SeIect選擇第 3 行wdWORD.Quit 關(guān)閉新建文檔窗口Set dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End SubSub選擇WORD表格指
13、定列()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象wdWORD.Visible = True 窗口可見(jiàn)wdWORD.ActiveDocument.Tables.Columns(3).Select 選擇第 3 列wdWORD.Quit 關(guān)閉新建文檔窗口Se
14、t dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub【提示】選擇最后一行hs = wdWORD.ActiveDocume nt.Tables(1).Rows.Cou nt 行數(shù)wdWORD.ActiveDocument.Tables(1).Rowshs).Select選擇最后一列l(wèi)s = wdWORD.ActiveDocume nt.Tables(1).Colu mn s.Cou nt 列數(shù)wdWORD.ActiveDocument.Tabl
15、es(1).Columns(s).Select選定WORD表格中任意連續(xù)區(qū)域 選擇連續(xù)行【代碼】Sub選擇WORD表格指定的連續(xù)行()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱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.T
16、ables定義表格變量wDoc.Range(wBGCell(2, 1).Range.Start, wBG.Cell(wBG.Rows.Count, wBG.Columns.Count).Range.End).Select選擇第 2 行到最后一行wdWORD.Quit 關(guān)閉新建文檔窗口Set wBG = Nothing 釋放存儲(chǔ)空間Set wDoc = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub 選擇任意列【代碼】Sub選擇WORD表格任意指定的連續(xù)列(
17、)Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱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定義表格變量wDoc.Range(wBG.Cell(1, 4).Range.Start, wBG.Cell(wBG.Ro
18、ws.Count, 7).Range.End).Select 選擇第4列到第7列wdWORD.Quit 關(guān)閉新建文檔窗口Set wBG = Nothing 釋放存儲(chǔ)空間Set wDoc = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:列沒(méi)有Range對(duì)象屬性。所以在選擇連續(xù)列時(shí)不能使用如下代碼:wDoc.Range(wBGColumns(4).RangeStart, wBG.Columns(7).RangeEnd).Select 選擇第4列到第7列
19、 選擇任意連續(xù)單元格區(qū)域【代碼】Sub選擇WORD表格任意指定的連續(xù)單元格區(qū)域()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱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定義表格變量wDoc.Range(wBG
20、.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ǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub【小結(jié)】選擇WORD表格中的任意連續(xù)區(qū)域,關(guān)鍵是確定起始位置和終止位置。選擇任意連續(xù)單元格區(qū)域的關(guān)鍵代碼格式如下:文檔對(duì)象.Range表格對(duì)象.Ce
21、ll(起始行,起始列).Range.Start,表格對(duì)象.Cell(終止行,終止列).Range.End).Select4.設(shè)置WORD表格的單元格格式設(shè)置WORD表格的單元格格式,包括單元格中的文本對(duì)齊格式和文字的字 體、字號(hào)、是否加粗等格式。VBA在EXCEL 中操作 WORD 表格之五第13頁(yè)共25頁(yè)WORD表格單元格中的文本的對(duì)齊格式,是指段落在水平方向的對(duì)齊方式 和在垂直方向的對(duì)齊方式。所以在設(shè)置單元格的對(duì)齊方式時(shí),一要設(shè)置單元格中 的文本段落在水平方向的對(duì)齊方式即左對(duì)齊、居中、右對(duì)齊,二要設(shè)置文本在垂直方向的對(duì)齊方式即靠上、居中、靠下?!締?wèn)題】以WORD文檔“成績(jī)表.doc”為例,
22、設(shè)置標(biāo)題行各單元格數(shù)據(jù)“中部居中(即 水平居中且垂直居中)”、“華文新魏”、字號(hào)“ 12”、“加粗”。【代碼】Sub設(shè)置WORD表格的單元格格式()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變量Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn)Set
23、wdBG = wdWORD.ActiveDocume nt.Tables(1)創(chuàng)建表格對(duì)象With wdBG.Rows(1).Range 表格第 1 行.Font.Bold = True 加粗.Font.Size = 12 字號(hào).Font.Name =華文新魏字體.ParagraphFormat.Alig nment = 1 水平居中.Cells.VerticalAlig nment = 1 垂直居中End WithwdWORD.Quit 關(guān)閉新建文檔窗口Set wdBG = Nothing 釋放存儲(chǔ)空間Set dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothin
24、g 釋放存儲(chǔ)空間VBA在EXCEL中操作 WORD 表格之五第16頁(yè)共25頁(yè)Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:?jiǎn)卧駭?shù)據(jù)居中即 WORD程序菜單命令“表格/單元格對(duì)齊方式”的“中部 居中”,指水平居中和垂直居中。代碼如下:水平居中單元格對(duì)象.ParagraphFormat.Alignment = 1垂直居中單元格對(duì)象.Cells.VerticalAlignment = 1單元格對(duì)齊方式常量一覽表名稱常量代碼賦值靠上兩端對(duì)齊wdAlig nParagraphJustify3wdCellAlig nVerticalTop0
25、靠上居中wdAlig nParagraphCe nter1wdCellAlig nVerticalTop0靠上右對(duì)齊wdAlig nParagraphRight2wdCellAlig nVerticalTop0中部?jī)啥藢?duì)齊wdAlig nParagraphJustify3wdCellAlig nV erticalCe nter1中部居中wdAlig nParagraphCe nter1wdCellAlig nV erticalCe nter1中部右對(duì)齊wdAlig nParagraphRight2wdCellAlig nV erticalCe nter1靠下兩端對(duì)齊wdAlig nParagr
26、aphJustify3wdCellAlig nV erticalBottom3靠下居中wdAlig nParagraphCe nter1wdCellAlig nV erticalBottom3靠下右對(duì)齊wdAlig nParagraphRight2wdCellAlig nV erticalBottom3注意哦,表中的常量 代碼,在EXCEL中操作WORD時(shí),由于后期綁定原 因,必須用對(duì)應(yīng)的 賦值取代方可體現(xiàn)效果!5.設(shè)置WORD表格的對(duì)齊格式在WORD文檔中的表格對(duì)齊,主要是指表格在頁(yè)面水平方向的對(duì)齊,即左 對(duì)齊、居中、右對(duì)齊。對(duì)應(yīng) WORD程序菜單命令“表格/表格屬性/表格”中的 三種對(duì)齊方
27、式?!敬a】Sub設(shè)置 WORD文檔中的表格對(duì)齊()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 放假通知.doc帶路徑的 WORD文件名稱 Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變 量Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn)dkDOC.Tables(1).Rows.Alignment = 1 水平居中wdWORD.Qui
28、t 關(guān)閉新建文檔窗口Set dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub6在WORD表格中插入(刪除)行/列插入行/列【問(wèn)題】與當(dāng)前操作的EXCEL文件保存在同一位置的 WORD文檔“放假通知.doc” 中,第一個(gè)表格有2行10列,在表格選定行的上/下方或者左/右側(cè)插入新行/列(一 行/列或多行/列)。在指定行的上/下插入行【代碼】Sub在指定行的上下插入行()Applicati on .Scree nUpdat ing = False
29、關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 放假通知.doc帶路徑的 WORD文件名稱VBA在EXCEL中操作 WORD 表格之五第28頁(yè)共25頁(yè)Set wApp = CreateObject(Word.Application)創(chuàng)建 WORD 對(duì)象Set wDoc = wApp.docume nts.Ope n(dqM)創(chuàng)建文檔對(duì)象wApp.Visible = True 窗口可見(jiàn)wDoc.Tables.Rows(2).Select 選擇指定行(第2行,可以根據(jù)表格實(shí)際行數(shù) 修改此數(shù)字值)wDoc.Application.Selection.lnsertRowSbove 3
30、指定行上方插入 3 行wDoc.Application.Selection.lnsertRowBelow 3 指定行下方插入 3 行Zh = wDoc.Tables(1).Rows.Cou nt 計(jì)算插入新行后的表格總行數(shù)MsgBox 成功新插入3行,當(dāng)前表格共有& Zh & 行,在指定列的上下插入行wDoc.Close TruewApp.QuitSet wApp = Noth ingSet wDoc = Nothi ngApplicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:wDoc.Application.Selection.lnser
31、tRowsAbove 3在所選擇行的上方新插入3行。如果執(zhí)行代碼wDoc.Application.Selection.lnsertRowBelow 3,則是在所選擇行的下方新插入3行。在指定列的左/右插入列【代碼】Sub在指定列的左右插入列()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 放假通知.doc帶路徑的 WORD文件名稱Set wDoc = wApp.docume nts.Ope n(dqM)創(chuàng)建文檔對(duì)象wApp.Visible = True 窗口可見(jiàn)Set myB = wDoc.Tabl
32、es(1)表格對(duì)象 wDoc.Tables(1)表格行 =myB.Rows.Cou nt 總行數(shù)表格列 =myB.Colu mn s.Cou nt總列數(shù)wDoc.Range(myB.Cell(1, Cells(2, 10).Value).Range.Start, myB.Cell(表格行,Cells(2, 11).Value ).Ran ge.E nd).Select選擇插入位置列crL = myB.Selectio n.Colu mn s.Cou nt 計(jì)算所選擇的列數(shù)wDoc.Application.SelectionnsertColumns 指定行左側(cè)插入行 wDoc.Applicati
33、on.SelectionnsertColumnsRight指定行右側(cè)插入行End IfzL = wDoc.Tables(1).Colum ns.Cou nt 計(jì)算插入新列后的表格總列數(shù)MsgBox 成功新插入& zL-表格列& 列,當(dāng)前表格共有& zL & 列,插入新列wDoc.Close TruewApp.QuitSet wApp = Noth ingSet wDoc = Nothi ngApplicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷End Sub說(shuō)明:選擇列左側(cè)插入新列Insertcolumns選擇列右側(cè)插入新列InsertColumnsRight
34、選擇多少列則插入多少新列。特別地,還可以用Add方法進(jìn)行插入行/列,但這種方法只能在上方或左側(cè) 接入,不具備靈活性,此處不作討論刪除行/列【問(wèn)題】與當(dāng)前操作的EXCEL文件保存在同一位置的 WORD文檔“放假通知.doc” 中,第一個(gè)表格有2行10列,在表格中刪除選定的行列。刪除行【代碼】Sub刪除表格中選定的行()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 放假通知.doc帶路徑的 WORD文件名稱Set wApp = CreateObject(Word.Application)創(chuàng)建 WORD
35、對(duì)象Set wDoc = wApp.docume nts.Ope n(dqM)創(chuàng)建文檔對(duì)象wApp.Visible = True 窗口可見(jiàn)Set myB = wDoc.Tables(1)表格對(duì)象表格行 =myB.Rows.Cou nt 總行數(shù)wDoc.Range(myB.Rows(2).Range.Start, myB.Rows(2).Range.End).Select 選擇要?jiǎng)h除的第2行wDoc.Application.SelectiorRows.Delete 刪除選中的行zH = wDoc.Tables(1).Rows.Cou nt 計(jì)算刪除行后的表格總行數(shù)MsgBox 成功刪除了選定的&
36、表格行-zH & 行,當(dāng)前表格還有& zH & 行,刪除行wDoc.Close TruewApp.QuitSet wApp = Noth ingSet wDoc = Nothi ngApplicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub刪除列【代碼】Sub刪除表格中選定的列()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 放假通知.doc帶路徑的 WORD文件名稱Set wApp = CreateObject(Word.Application)創(chuàng)建
37、WORD 對(duì)象Set wDoc = wApp.docume nts.Ope n(dqM)創(chuàng)建文檔對(duì)象wApp.Visible = True 窗口可見(jiàn)Set myB = wDoc.Tables(1)表格對(duì)象表格行 =myB.Rows.Cou nt 總行數(shù)表格列 =myB.Colu mn s.Cou nt總列數(shù)wDoc.Range(myB.Cell(1, 2).Range.Start, myB.Cell(表格行,4).Range.End).Se lect 選擇刪除的第2至4列wDoc.Application.SelectiorColumns.Delete 刪除選中的列zL = wDoc.Table
38、s(1).Colum ns.Cou nt計(jì)算刪除列后的表格列數(shù)MsgBox 成功刪除了選定的&表格列-zL & 列,當(dāng)前表格還有& zL & 列,刪除列wDoc.Close TruewApp.QuitSet wApp = Noth ingSet wDoc = Nothi ngApplicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub7 設(shè)置表格行高列寬【問(wèn)題】設(shè)置WORD文檔“行高列寬.doc”中表格的行高25磅和列寬36磅,標(biāo)題 行高另設(shè)30磅?!敬a】Sub設(shè)置表格行高列寬()Applicati on .Scree nUpdat ing = F
39、alse 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 放假通知.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變 量后期綁定Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象wdWORD.Visible = True 窗口可見(jiàn)Set myB = dkDOC.Tables(1)表格對(duì)象hs = myB.Rows.Cou nt 總行數(shù)ls = myB.Colum ns.Cou nt 總列數(shù)With myBFor h = 1 To hsIf
40、h = 1 Then.Rows.Height = 30 第一行高ElseIf h 1 Then.Rows(h).Height = 25 行高End IfNext hFor l = 1 To ls.Columns(l).PreferredWidth = 36 列寬Next lEnd WithwdWORD.Quit 關(guān)閉新建文檔窗口Set dkDOC = Nothing 釋放存儲(chǔ)空間Set wdWORD = Nothing 釋放存儲(chǔ)空間Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:在WORD表格中,常用厘米為單位設(shè)置行高列寬。但在VB
41、A代碼中則需要把厘米轉(zhuǎn)換成磅值。1磅=0.035厘米。比如設(shè)置行高30磅(即行高1.05厘米)的代碼如下:用磅設(shè)置.Rows.Height = 30用厘米設(shè)置.Rows.Height = Application.CentimetersToPoints(1.05)CentimetersToPoint將計(jì)量單位從厘米轉(zhuǎn)換為磅。8.自動(dòng)調(diào)整 WORD表格的列寬【問(wèn)題】在WORD文檔“成績(jī)表.doc”中,根據(jù)表格內(nèi)容自動(dòng)調(diào)整列的寬度?!敬a】Sub根據(jù)表格內(nèi)容自動(dòng)調(diào)整列寬()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.
42、Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變 量后期綁定Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn)gs = dkDOC.Tables.Cou nt 表格個(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 sdkDOC.Sav
43、eAs保存文檔修改dkDOC.CIose關(guān)閉文檔wdWORD.Quit 關(guān)閉新建文檔窗口Set myB = Nothing 釋放存儲(chǔ)空間Set dkDOC = Nothi ngSet wdWORD = Noth ingApplicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:代碼myB.AutoFitBehavior (1)中的數(shù)值1是根據(jù)表格內(nèi)容自動(dòng)調(diào)整列寬 的常量設(shè)置值,即 仁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ī)
44、表.doc”中,對(duì)跨頁(yè)表格設(shè)置標(biāo)題行重復(fù)(即一個(gè)表格 如果有幾個(gè)頁(yè)面,則每個(gè)頁(yè)面都顯示相同的標(biāo)題行)?!敬a】Sub WORD表格標(biāo)題行重復(fù)()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = ThisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變 量后期綁定Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn)
45、gs = dkDOC.Tables.Cou nt 表格個(gè)數(shù)For s = 1 To gs 從第一個(gè)表格循環(huán)到最后一個(gè)表格Set myB = dkDOC.Tables(s)表格對(duì)象myB.Rows(1).Select 選擇表格標(biāo)題行dkDOC.Application.Selection.Rows.HeadingFormat = True 行標(biāo)題重復(fù)Next sdkDOC.SaveAs保存文檔修改dkDOC.CIose關(guān)閉文檔wdWORD.Quit 關(guān)閉新建文檔窗口Set myB = Nothing 釋放存儲(chǔ)空間Set dkDOC = Nothi ngSet wdWORD = Noth ingAp
46、plicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:如果直接在 WORD文檔中,選定表格標(biāo)題行,運(yùn)行代碼Selection.Rows.He adingFormat =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)邊框線文檔表格對(duì)象nsideLineStyle=型常量值外邊框線文
47、檔表格對(duì)象0utsideLineStyle =線型常量值邊框類型邊框類型常量列表一覽表常量名稱值wdBorderLeft左邊框線-2wdBorderRight右邊框線-4wdBorderTop頂端邊框線-1wdBorderBottom底端邊框線-3wdBorderHorizo ntal水平邊框線-5wdBorderVertical垂直邊框線-6wdBorderDiago nalDow n向下對(duì)角線(左上右下)-7wdBorderDiago nalUp向上對(duì)角線(左下右上)-8邊框線型設(shè)置邊框線型設(shè)置值為True_默認(rèn)邊框線、值為False_沒(méi)有邊框線, 否則可以設(shè)置為如下邊框線型常量之一。邊框
48、線型設(shè)置常量一覽表常量名稱值wdLi neStyleDashDot連續(xù)單點(diǎn)劃線5wdLi neStyleDashDotDot連續(xù)雙點(diǎn)劃線6wdLi neStyleDashDotStroked連續(xù)單點(diǎn)皺褶線20wdLi neStyleDashLargeGap連續(xù)長(zhǎng)劃線4wdL in eStyleDashSmallGap連續(xù)短劃線3wdLi neStyleDot點(diǎn)線2wdL in eStyleDouble雙細(xì)實(shí)線7wdLi neStyleDoubleWavy雙波浪線19wdLi neStyleEmboss3D浮雕3D(陰影上)21wdL in eStyleE ngrave3D雕刻3D(陰影下)22
49、常量名稱值wdL in eStyle In set單細(xì)實(shí)線24wdLi neStyleNo ne無(wú)線(沒(méi)有)0wdLi neStyleOutset默認(rèn)細(xì)實(shí)線23wdLi neStyleSi ngle單細(xì)實(shí)線1wdLi neStyleSi ngleWavy單波浪線18wdLi neStyleThickThi nLargeGap厚簿大間隙雙線16wdLi neStyleThickThi nM edGap厚簿標(biāo)準(zhǔn)間隙雙線13wdLi neStyleThickThi nSmallGap厚簿小間隙雙線10wdL in eStyleTh in ThickLargeGap簿厚大間隙雙線15wdLi neSt
50、yleThi nThickMedGap簿厚大間隙細(xì)實(shí)線雙線12wdLi neStyleThi nThickSmallGap簿厚小間隙雙線9wdLi neStyleThi nThickThi nLargeGap簿厚簿大間隙三線17wdLi neStyleThi nThickThi nM edGap簿厚簿標(biāo)準(zhǔn)間隙三線14wdLi neStyleThi nThickThi nSmallGap簿厚簿小間隙三線11wdLi neStyleTriple三細(xì)實(shí)線8表格邊框設(shè)置【代碼】Sub設(shè)置表格邊框()Applicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新dqM = T
51、hisWorkbook.Path & 成績(jī)表.doc帶路徑的 WORD文件名稱VBA在EXCEL中操作 WORD 表格之五第32頁(yè)共25頁(yè)Set wdWORD = CreateObject(Word.Application)定義一個(gè) Word 對(duì)象變量后期綁定Set dkDOC = wdWORD.Docume nts.Ope n( dqM)創(chuàng)建文檔對(duì)象 wdWORD.Visible = True 窗口可見(jiàn) gs = dkDOC.Tables.Cou nt 表格個(gè)數(shù)For s = 1 To gs 從第一個(gè)表格循環(huán)到最后一個(gè)表格 Selectio n.Set myB = dkDOC.Tables(
52、s)表格對(duì)象With myB.BordersnsideLineStyle = 24 內(nèi)部單線.OutsideLineStyle = 10 粗細(xì)小間隙雙線End WithNext sdkDOC.SaveAs保存文檔修改dkDOC.CIose關(guān)閉文檔wdWORD.Quit 關(guān)閉新建文檔窗口Set myB = Nothing 釋放存儲(chǔ)空間Set dkDOC = Nothi ngSet wdWORD = Noth ingApplicati on .Scree nUpdat ing = False 關(guān)閉屏幕刷新End Sub說(shuō)明:本事例是對(duì)表格邊框的常規(guī)設(shè)置方法。如果需要對(duì)表格邊框四邊及內(nèi)部(水平、垂直)單獨(dú)個(gè)性設(shè)置,可以按邊框類型進(jìn)行單獨(dú)設(shè)置。如對(duì)邊框四邊的左邊框線進(jìn)行設(shè)置,代碼及格式如下:With 文檔表格對(duì)象.Borders(wdBorderLeft).Li neStyle二wdLi neStyleThi nThickSmallGap線型.LineWidth二wdLineWidth300pt線寬.Color二wdColorAutomatic顏色End With其中 wdBorderLeft 為邊框
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度房地產(chǎn)開(kāi)發(fā)項(xiàng)目貸款及違約補(bǔ)償合同2篇
- 二零二五年度學(xué)校活動(dòng)板房搭建與教育設(shè)施合同3篇
- 二零二五年度城市排水系統(tǒng)規(guī)劃合同2篇
- 2025年值得信任的快遞服務(wù)合同
- 2025年工程竣工圖審查合同
- 2025年度房地產(chǎn)公司合同簽訂與備案流程規(guī)范范本
- 2025年浙江溫州機(jī)場(chǎng)安檢護(hù)衛(wèi)公司招聘筆試參考題庫(kù)含答案解析
- 2025年貴州民生實(shí)業(yè)集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年山東嵐山融資擔(dān)保有限公司招聘筆試參考題庫(kù)含答案解析
- 2025年滬教新版高一數(shù)學(xué)上冊(cè)階段測(cè)試試卷含答案
- 第十七章-阿法芙·I·梅勒斯的轉(zhuǎn)變理論
- 焊接機(jī)器人在汽車制造中應(yīng)用案例分析報(bào)告
- 合成生物學(xué)在生物技術(shù)中的應(yīng)用
- 中醫(yī)門診病歷
- 廣西華銀鋁業(yè)財(cái)務(wù)分析報(bào)告
- 無(wú)違法犯罪記錄證明申請(qǐng)表(個(gè)人)
- 大學(xué)生勞動(dòng)教育PPT完整全套教學(xué)課件
- 繼電保護(hù)原理應(yīng)用及配置課件
- 《殺死一只知更鳥(niǎo)》讀書(shū)分享PPT
- 蓋洛普Q12解讀和實(shí)施完整版
- 2023年Web前端技術(shù)試題
評(píng)論
0/150
提交評(píng)論