今天寫數(shù)據(jù)庫文檔驻粟,順便把導(dǎo)出的那些很丑的表格美化一下饭宾,按照統(tǒng)一的模板整理成文檔批糟。就想著是不是可以有一種方法可以批量修改表格樣式,然后搜了搜并實(shí)踐了一下看铆,確實(shí)很便捷徽鼎,記錄并分享下。
(不過弹惦,我文檔中并沒有用到否淤,這些能一次性修改所有表格的通用屬性字號、顏色棠隐、間距啥的石抡,但我是需要修改列數(shù)據(jù)且要對其中一列進(jìn)行拆分,而且還要對每個(gè)表進(jìn)行描述宵荒,所以就手動(dòng)復(fù)制粘貼了汁雷。下次如果文檔要調(diào)整風(fēng)格,我應(yīng)該就能用上了报咳。)
伴隨一系列問號侠讯,開始發(fā)現(xiàn)并逐步解決問題:
word如何批量修改表格樣式?
wps宏不能使用怎么辦暑刃?
一次性選中word中全部表格的宏怎么寫厢漩?
使用宏溜嗜。
wps中,開發(fā)工具—>宏架谎,但是不可點(diǎn):
安裝宏插件vba谷扣,下載地址:https://download.csdn.net/download/pang787559613/12397585
下載安裝:
重啟wps土全,宏可用:
繼續(xù)看下去裹匙。
開發(fā)工具—>宏—>給宏命名—>創(chuàng)建:
VB編輯器:
將如下代碼粘貼進(jìn)去:
Sub 批量修改表格()'' 批量修改表格 Macro' 宏由 zsz 錄制,時(shí)間:2020/05/07''? ? Dim tempTable As Table? ? ? ? ? ? Application.ScreenUpdating=False? ? ? ? '判斷文檔是否被保護(hù)? ? If ActiveDocument.ProtectionType=wdAllowOnlyFormFields Then? ? ? ? ? ? MsgBox"文檔已保護(hù)末秃,此時(shí)不能選中多個(gè)表格概页!"Exit Sub? ? ? ? End If? ? ? ? '刪除所有可編輯的區(qū)域? ? ActiveDocument.DeleteAllEditableRanges wdEditorEveryone? ? ? ? '添加可編輯區(qū)域? ? For Each tempTable In ActiveDocument.Tables? ? ? ? ? ? tempTable.Range.Editors.Add wdEditorEveryone? ? ? ? Next? ? ? ? '選中所有可編輯區(qū)域? ? ActiveDocument.SelectAllEditableRanges wdEditorEveryone? ? ? ? '刪除所有可編輯的區(qū)域? ? ActiveDocument.DeleteAllEditableRanges wdEditorEveryone? ? ? ? Application.ScreenUpdating=TrueEnd Sub
如下圖:
此處可自行選擇在當(dāng)前項(xiàng)目下或者通用項(xiàng)目下創(chuàng)建宏(選中相應(yīng)項(xiàng)目,插入—>模塊即可):
關(guān)閉VB編輯器练慕,并在要使用宏的文檔中開發(fā)工具—>宏—>批量修改表格(選擇自己創(chuàng)建的宏)—>運(yùn)行:
則文檔中全部表格被選中惰匙,可對表格進(jìn)行批量修改樣式等操作: