在VBA中编程选择Word 2014表中的多行

时间:2017-07-20 17:37:18

标签: vba ms-word multipleselection

我想将Microsoft Word(大多数版本,我使用2014)中的大表中的所有偶数行的字体更改为红色

我尝试了一个简单的循环:

For ii=2 to ActiveDocument.Tables(1).Rows.Count step 2
  ActiveDocument.Tables(1).Rows(ii).Select
  Selection.Font.ColorIndex = wdRed
Next

这有时会挂起,有时会起作用,但需要几个小时(我的桌子有14000行...)

然后我有了这样的想法:手动,我可以通过左键单击左侧选择一行,然后通过左键单击Ctrl-左键单击向选择中添加其他行。 然后我可以修改一次选择的所有行的字体。

因此,让我们看看以编程方式执行相同操作是否更快!我试过像

这样的东西
 ActiveDocument.Tables(1).Rows(2).Select
 For ii=4 to ActiveDocument.Tables(1).Rows.Count step 2
   Selection.Add (ActiveDocument.Tables(1).Rows(ii))
 Next
 Selection.Font.ColorIndex = wdRed

但不接受Add作为有效的Selection对象成员

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

定义新样式并将其应用于表格...无需vba

这是一个示例样式更改的宏录制...如果您想使用vba

Selection.Tables(1).Style = "Grid Table 5 Dark - Accent 2"

另外,记录一个做新风格定义的宏......其中有很多好东西