Word VBA 单元格处理


近期遇到一个office操作上十分棘手的问题:要实现对word中,几千个相同格式的表格的某一个特定单元格的格式设置

例如:对于这样的同格式的word中的表格,批量的将其第一行第二列单元格格式设置为居中并且加上灰色底纹

通过OfficeWord录制宏的方法,难以解决选中问题,遂上手VBA编程,编写如下代码:

 1 Sub 宏5()
 2 '
 3 ' 宏5 宏
 4 '
 5 '
 6     For i = 1 To 500
 7     ' 从第1个表开始,到第500个表结束,500可以改成任意数字
 8         Set myCell = ActiveDocument.Tables(i).Cell(Row:=2, Column:=1)
 9         ' 对每个表选中第1行第1列,如Row:=3,Column:=2则是定位第3行第2列,这俩数可以任意改
10         myCell.Shading.Texture = wdTexture20Percent
11         ' 突出显示的命令
12         myCell.Range.ParagraphFormat.Alignment = wdCellAlignVerticalCenter
13         ' 修改格式的命令
14     Next i
15 End Sub


定位cell十分简单,但是修改cell的水平居中的属性费了一番周折,Word官方文档中的cell属性里竟然只有VerticalAlignment而没有horizontalAlignment,对于垂直居中只需要
 Cell.VerticalAlignment = wdAlignVerticalTop ,而水平居中则需要进一步查找文档,通过 myCell.Range.ParagraphFormat.Alignment = wdCellAlignVerticalCenter 成功设置。
文档地址如下:
https://docs.microsoft.com/zh-cn/office/vba/api/word.cell.verticalalignment

 

 

 目前已跟微软office团队反反映相关问题,希望其进一步完善VBA建设。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM