赞
踩
本文实现了在WORD文档中的表格的样式、字体的整体设置,以及首行的样式、字体的翻开设置。
例如一篇WORD文档,包含了200个表格,所有的表格需要设置为相同的样式:
字体 5号,方正仿宋_GB2312,行间距=18磅;
外框线=1.0磅,双线;内框线=0.5磅,单线;
首行行间距=12磅。
实现的代码如下:
- function 表格调整()
- {
- var countT =0;
- var i = 0;
- countT = ActiveDocument.Tables.Count;//计算文档中一共包含的表格数量。
- for(i=1;i<=countT;i++)
- {
-
- ActiveDocument.Tables.Item(i).Select();
- ActiveDocument.Tables.Item(i).Borders.InsideLineWidth = wdLineWidth050pt;
- ActiveDocument.Tables.Item(i).Borders.OutsideLineWidth = wdLineWidth100pt;
- ActiveDocument.Tables.Item(i).Borders.InsideLineStyle = wdLineStyleSingle;
- ActiveDocument.Tables.Item(i).Borders.OutsideLineStyle = wdLineStyleDouble;
-
- Selection.Font.Name = "方正仿宋_GB2312";//字体
- Selection.Font.Size = 10.5;//字体大小=5号
- Selection.Font.SizeBi = 10.5;
- (obj=>{
- obj.DisableLineHeightGrid = 0;
- obj.ReadingOrder = wdReadingOrderLtr;
- obj.AutoAdjustRightIndent = -1;
- obj.WidowControl = -1;
- obj.KeepWithNext = 0;
- obj.KeepTogether = 0;
- obj.PageBreakBefore = 0;
- obj.FarEastLineBreakControl = -1;
- obj.WordWrap = -1;
- obj.HangingPunctuation = -1;
- obj.HalfWidthPunctuationOnTopOfLine = 0;
- obj.AddSpaceBetweenFarEastAndAlpha = -1;
- obj.AddSpaceBetweenFarEastAndDigit = -1;
- obj.BaseLineAlignment = wdBaselineAlignAuto;
- })(Selection.ParagraphFormat);
- Selection.ParagraphFormat.LineSpacing = 18;//行间距=18磅
-
- Selection.Rows.First.Select();
- Selection.ParagraphFormat.LineSpacing = 12;//行间距=12磅
- }
- MsgBox("表格完成批量调整,共计"+countT+"个!",jsOKOnly,"红狐格格的友情提示");
- }
注意:对表格的首行进行访问,使用下列语句访问时,会出现错误提示:
ActiveDocument.Tables.Item(i).Rows.Item(1).Select();
上面的错误问题,折腾了我很久,百思不得其解,Rows.Item(1)显然是无法访问。
查看了WPS的帮助文档,虽然Rows.Item(1)的使用方法在帮助文档中出现了,也有范例,但是我的程序运行总会报错。
继续研究查看Rows的其他相关函数,更改使用了如下方法后程序正常运行:
Selection.Rows.First.Select();
PS:如果你在阅读本文,并知道Rows.Item(1)方法报错的原因,还请告知我,谢谢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。