zoukankan      html  css  js  c++  java
  • 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建设。

  • 相关阅读:
    SPI 1
    运算符
    移位运算
    Comet OJ
    图论 最短路 基础
    CF div3 582 C. Book Reading
    Comet OJ
    VScode 标记“&&”不是此版本中的有效语句分隔符。
    Educational Codeforces Round 63 (Rated for Div. 2)
    1223:An Easy Problem
  • 原文地址:https://www.cnblogs.com/wind-chaser/p/12259834.html
Copyright © 2011-2022 走看看