工作中,由于每次修改word文档,都需要进行繁琐的修改,删除多余的列或者调节表格的宽度。
使用列word宏编程的方式对word文档进行对应的操作。
宏:
1 Sub del_key() 2 Dim str As String 3 Dim table_count, i, j, table_lie As Integer 4 str = "符合程度" 5 table_count = ActiveDocument.Tables.Count 6 For i = 1 To table_count 7 table_lie = ActiveDocument.Tables(i).Columns.Count 8 For j = 1 To table_lie 9 If InStr(ActiveDocument.Tables(i).Cell(1, j), str) > 0 Then 10 ActiveDocument.Tables(i).Cell(1, j).Select 11 Selection.Columns.Delete 12 With ActiveDocument.Tables(i) 13 .PreferredWidthType = wdPreferredWidthPercent 14 .PreferredWidth = 110 15 End With 16 ActiveDocument.Tables(i).Rows.Alignment = wdAlignRowCenter 17 End If 18 Next 19 Next 20 End Sub
代码说明:
我只是去鉴别每个表格的第一行是否存在关键字,这是我的需求,存在就删除,如果你们的是按照列来的话,修改Cell(1, j)中的1,仿照循环语句来写;设置了居中属性。
使用方法:
打开word,打开宏,将此段代码复制到宏中,点击运行即可(首次使用,建议使用备份文件进行测试,目前不知道有没有bug,我目前没碰到)
1. str为关键字,输入关键字就可以将存在关键字的该列删除
2. .PreferredWidth为表格的宽度,可以设置成自己想要的宽度