作为一个研究生,到今天才发现office有这么强大的功能,实在是惭愧啊 所以如何统一修改表格的格式呢?
在视图中找到宏,然后点击查看宏,或者直接Alt+F8也可以直接打开
打开后,这里面的其实就是office预定义的一些宏,用以完成一系列特定的功能。 这里的功能可以从名字看出来用途,但是没有我们需要的,所以我们需要新建一个宏。 以【选中文档中的所有表格】这一功能为例,我们在宏名输入SelectAllTables,然后点击创建。
然后输入下面的代码,点击绿色的小三角,等待片刻
返回原文档,看看所有的表格是否都被选中了? 然后我们可以对所有的表格进行操作,如设置表格中的字体、字号、对齐方式,这样可能在5分钟之内完成了我们一天也完不成的机械工作。 其实还有一种简便方法,直接Alt+F11,直接就出来VB编辑器 然后双击ThisDocument,在框中输入代码即可自动创建相应宏。
注意保存时会弹出一个对话框如下
如果只是用宏处理一下问题,不想改变原文档的话,就选是,VBA工程不会保存到原文档中。 如果想要把原文档变成可以拥有某种功能的文档,每次打开时自动调整,就点否,会提示你另存为一个新的启用宏的文档。 最后放上两段代码,是我最近用的比较多的两个代码
选中所有表格: Sub SelectAllTables() Dim tempTable As Table Application.ScreenUpdating = False '判断文档是否被保护 If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then MsgBox "文档已保护,此时不能选中多个表格!" Exit Sub End If '删除所有可编辑的区域 ActiveDocument.DeleteAllEditableRanges wdEditorEveryone '添加可编辑区域 For Each tempTable In ActiveDocument.Tables tempTable.Range.Editors.Add wdEditorEveryone Next '选中所有可编辑区域 ActiveDocument.SelectAllEditableRanges wdEditorEveryone '删除所有可编辑的区域 ActiveDocument.DeleteAllEditableRanges wdEditorEveryone Application.ScreenUpdating = True End Sub
所有表格居中 Private Sub Document_Open() Application.Browser.Target = wdBrowseTable For i = 1 To ActiveDocument.Tables.Count ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitContent) '根据内容自动调整表格 ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitWindow) '根据窗口自动调整表格 ActiveDocument.Tables(i).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '水平居中 ActiveDocument.Tables(i).Range.ParagraphFormat.Alignment = wdCellAlignVerticalCenter '垂直居中 Next i End Sub
very well good mark!