问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样在Word中用VBA操作表Ơ

发布网友 发布时间:2024-08-19 14:21

我来回答

1个回答

热心网友 时间:2024-09-08 18:29

使用VBA操作Word表格
一、生成表格
Private Sub CreateTable(mRows As Integer, mColumns) Dim mRange As Range
Set mRange = ActiveDocument.Range
mRange.SetRange Start:=ActiveDocument.Range.End, End:=ActiveDocument.Range.End
Set SelfGenTable = ActiveDocument.Tables.Add(Range:=mRange, NumRows:=mRows, NumColumns:=mColumns) End Sub
上面过程的作用是在活动文档的末尾插入一个mRows行,mColumns列的表格。 二、在读写表格中的单元格 写入单元格使用如下代码:
TableObject.Cell(Row:=curRow, Column:=curColumn).Range.InsertAfter "文本" 上面代码的做用时在curRow行,curColumn列处插入字符“文本”。
其中TableObject为表格对象,如果使用了生成表格中的例子,那么可以用SelfGenTable来替代TableObject。
三、调整单元格对齐方式 水平对齐设置
Selection.ParagraphFormat.Alignment=水平对齐常数(具体的常数可以查看帮助文件的说明) 如何选择单元格? 选定特定单元格
TableObject.Cell(Row:=1,Column:=1).Select’选定单元格1,1 选定行
TableObject.Rows(i).Select’选定第i行 选定列
TableObject.Columns(i).Select’选定第i列 选定整个表格 TableObject.Select
首先执行表格元素选择程序,然后再使用Selection.ParagraphFormat.Alignment设置对齐方式。
垂直对齐方式
Selection.Cells.VerticalAlignment=垂直对齐常数
也是首先选择表格元素,可以使单个单元格,单个行、单个列或者整个表格。似乎也可以同时选择多个单元格、多个行、多个列,有兴趣的朋友可以自行寻找答案。 四、设置表格边线类型
下面的代码对整个表格的所有边线设置成细实线: SelfGenTable.Select With Selection
.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle .Borders(wdBorderRight).LineStyle = wdLineStyleSingle .Borders(wdBorderTop).LineStyle = wdLineStyleSingle
.Borders(wdBorderHorizontal).LineStyle = wdLineStyleSingle
Borders(wdBorderVertical).LineStyle = wdLineStyleSingle End With
同样是对Selection进行设置,所以可以依照上面的方法对特定的单元格、行或者列的边线样式进行分别设置,这里就不再列举了。 五、调整表格尺寸
下面的代码对一个六列的表格设置宽度,宽度采用百分比宽度,从左至右的宽度百分比依次为:30,10,10,30,10,10: Dim WidthP(0 To 2) As Integer Dim j As Integer dim i as Integer WidthP(0) = 30 WidthP(1) = 10 WidthP(2) = 10 j = 0
For i = 0 To SelfGenTable.Columns.Count - 1 If j > 2 Then j = 0 End If
SelfGenTable.Columns(i + 1).PreferredWidthType = wdPreferredWidthPercent SelfGenTable.Columns(i + 1).PreferredWidth = WidthP(j) j = j + 1 Next
上面的代码通过Columns的PreferredWidthType属性设置表格列宽的形式,这里选择的是百分比列宽,可以根据自己的实际情况选择其他列宽形式,然后再设置相应的数值。 表格的行高请读者以此类推(实际上我还没设置过行高,都用自动生成的就够了) ===============================================
编写操作表格的程序时需要注意,Word表格的行列起始值为1,而不是0。 ===============================================
下面是一个拆分字符串的代码,当插入表格的文本过长时,可以设定一个长度,超过这个长度就进行回车,这样保证在设定的单元格宽度内能够写下长文本。单元格的高度会自动调整以使文本能完整的显示,这也就是我为什么没有通过代码设置单元格高度的原因。 Private Function FoldText(mLen As Integer, mStr As String) As String '折叠文字函数,mLen为折叠前的文字长度,mStr为文字的内容 Dim i As Integer
Dim tmpStr(0 To 1) As String '临时字符串 If Len(mStr) > mLen Then
Do While Len(mStr) > mLen tmpStr(0) = Left(mStr, mLen)
mStr = Right(mStr, Len(mStr) - mLen)
tmpStr(1) = tmpStr(1) + tmpStr(0) + vbCrLf Loop
tmpStr(1) = tmpStr(1) + mStr Else
tmpStr(1) = mStr
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
父母离异的话,会不会导致孩子心智不成熟? 过节 公司给我们发的购物卡 这个怎么做分录 属于福利费吗 需要计提吗... 乡村振兴公务员和省考公务员有什么区别 ...小时候跟着爷爷学国画书法,小受家是农村的,小受姓夏或叶,他带着他... 瑞麒X1安全装置 瑞麒X1的舒适型和豪华型有什么区别?配置有哪些不同的地方?这5000块多在... 瑞麒X1的安全性能方面配置如何? 脚崴了 有大量於血 怎么样才能快速消肿 脚崴了外侧出现瘀血浮肿怎么消除? ...换了我喜欢的发型,但是穿了件有点透明的衣服,可以看到肩_百度... 如何用VBA把word中两个指定文字间的段落复制到剪粘板上vba把字符串写进... 李纨青春朝气的天性 vba如何生成word文档并粘贴复制值vba如何生成word文档并粘贴复制值的... word里的"宏"是什么意思 word中使用VBword中使用vba复制粘贴的所有方法 vba和word文档连接时需要引用什么库 为什么word总提示无法初始化VBA环境? 子女方五一之贵什么意思 专辑,为爱而生,签过名的,卖六十贵么? 自主招生招生院校 Word中公式居中word中公式居中公式的编号靠右对齐 江苏哪些高校自主招生 自主招生学校有哪些学校 前段时间额头长痘很多很痒 最近脸颊下颚也长痘我好痛苦怎么办? ...使得文档的每一页生成一个独立的word文档?也要页眉页脚 急求word宏病毒源代码 怎么设置宏的快捷键设置_word怎么设置宏的快捷键 六颗子弹剧情简介 脚脱皮痒怎么治疗 脚脱皮发痒怎么办 房地产泡沫还能撑几年 如何解决word2010提示"无法安装VBA组件"? 运行WORD2003时文档中的宏显示未安装vba怎么回事 假离婚还能起诉撤销吗?假离婚财产怎么分割? 丽水湖边大厦值得买吗? 丽水欧微大厦属于什么街道 airpodsac+怎么换新机 word表格怎么填统一社会信用代码word表格怎么填统一社会信用代码... 嘉庆通宝背面宝泉值多钱 如何在word文档表格中输入文字? 如何在Word中设置数字格式? 澧县离哪个高铁站近 医疗纠纷可以通过哪些途径处理 利用VBA设置密码和方法 VBAproject密码遗忘怎么办? Excel表格VBAProject密码忘记了如何解除 excel中利用VBA保护工作表或撤消工作表保护 6的1/2次方怎么算 6½是多少 81加6的二分之一次方怎么算?