如何實現在移除辦公軟件文檔樣式的同時保留格式?利用VBA腳本實現
2022-10-13 10:15:26
如何實現在移除 Word 文檔樣式的同時保留格式
樣式(style)是 Word 中用于快速更改文本格式的功能。將一種樣式應用于文檔中不同段落之后,只需更改一次該樣式,即可同時更改這些文本的格式。同時,樣式還能使文檔結構化,指定不同「標題」層次的樣式后,即可快速生成目錄。
但樣式有時也會帶來麻煩。例如,需要將別人傳過來的多份 Word 文檔進行整合、統一其格式時,他人文檔中預設的樣式可能會給排版造成混亂和不便。但是,如果一刀切地將其粘貼為純文本,不僅會丟失所有的格式,增加不必要的工作量,又會導致文本層級難以辨識。其實,利用 Office 中的 VBA 腳本,就能在移除樣式的同時保留文本格式。
A. 如果你使用 macOS 和 Office 2016 for Mac
正常使用樣式功能來編排文檔;
依次點擊菜單中的「工具」–「宏」–「Visual Basic 編輯器…」;
在彈出的窗口右側粘貼如下腳本:
Sub DirectFormat()
Dim para As Paragraph
Dim fnt As Font
Dim pfmt As ParagraphFormat
For Each para In ActiveDocument.Paragraphs
With para
If .Style <> ActiveDocument.Styles("Normal") Then
Set fnt = .Style.Font
Set pfmt = .Style.ParagraphFormat
.Style = ActiveDocument.Styles("Normal")
.Range.Font = fnt
.Range.ParagraphFormat = pfmt
End If
End With
Next End Sub
點擊下方的「運行程序」按鈕,執行上述命令;
所有的樣式現在已經被清除。
要檢查是否運行成功,在「主頁」選項卡中點擊打開「樣式面板」,然后試著在之前設置有樣式的段落中單擊。如果右側的樣式面板中始終顯示為「Normal」樣式,則表明已經運行成功。
B. 如果你使用 Windows 和 Office 2016
正常使用樣式功能來編排文檔;
按下 Alt + F11 組合鍵;
在彈出的窗口中,雙擊左側的「ThisDocument」選項,并在右側彈出的空白窗口中粘貼如下腳本:
Sub DirectFormat()
Dim para As Paragraph
Dim fnt As Font
Dim pfmt As ParagraphFormat
For Each para In ActiveDocument.Paragraphs
With para
If .Style <> ActiveDocument.Styles("Normal") Then
Set fnt = .Style.Font
Set pfmt = .Style.ParagraphFormat
.Style = ActiveDocument.Styles("Normal")
.Range.Font = fnt
.Range.ParagraphFormat = pfmt
End If
End With
Next End Sub
點擊上方工具欄中的「運行」按鈕,執行上述命令;
所有的樣式現在已經被清除。
要檢查是否運行成功,在「主頁」選項卡中,點擊「樣式」區域右下角的展開按鈕,展開樣式窗格,然后試著在之前設置有樣式的段落中單擊。如果右側的樣式窗格中始終顯示為「Normal」樣式,則表明已經運行成功。
備注
需要注意的是,如果你同時打開了多份 Word 文檔,那么在上述 VBA 編輯器的左側,也會出現多個文檔的選項。這種場合,請保證選中了 Project(需要去除樣式的文檔)-Microsoft Word Objects-ThisDocument 并使其高亮,然后再在右側粘貼并執行代碼。
Facts for Nerds
上述命令的作用如下:遍歷文檔中所有段落并檢查其樣式,如果某一段落的樣式不是「Normal(正文)」,則記住其當前格式設置,然后清除該段落的樣式,最后將先前記住的格式重新應用到該段落上。
樣式(style)是 Word 中用于快速更改文本格式的功能。將一種樣式應用于文檔中不同段落之后,只需更改一次該樣式,即可同時更改這些文本的格式。同時,樣式還能使文檔結構化,指定不同「標題」層次的樣式后,即可快速生成目錄。
但樣式有時也會帶來麻煩。例如,需要將別人傳過來的多份 Word 文檔進行整合、統一其格式時,他人文檔中預設的樣式可能會給排版造成混亂和不便。但是,如果一刀切地將其粘貼為純文本,不僅會丟失所有的格式,增加不必要的工作量,又會導致文本層級難以辨識。其實,利用 Office 中的 VBA 腳本,就能在移除樣式的同時保留文本格式。
A. 如果你使用 macOS 和 Office 2016 for Mac
正常使用樣式功能來編排文檔;
依次點擊菜單中的「工具」–「宏」–「Visual Basic 編輯器…」;
在彈出的窗口右側粘貼如下腳本:
Sub DirectFormat()
Dim para As Paragraph
Dim fnt As Font
Dim pfmt As ParagraphFormat
For Each para In ActiveDocument.Paragraphs
With para
If .Style <> ActiveDocument.Styles("Normal") Then
Set fnt = .Style.Font
Set pfmt = .Style.ParagraphFormat
.Style = ActiveDocument.Styles("Normal")
.Range.Font = fnt
.Range.ParagraphFormat = pfmt
End If
End With
Next End Sub
點擊下方的「運行程序」按鈕,執行上述命令;
所有的樣式現在已經被清除。
要檢查是否運行成功,在「主頁」選項卡中點擊打開「樣式面板」,然后試著在之前設置有樣式的段落中單擊。如果右側的樣式面板中始終顯示為「Normal」樣式,則表明已經運行成功。
B. 如果你使用 Windows 和 Office 2016
正常使用樣式功能來編排文檔;
按下 Alt + F11 組合鍵;
在彈出的窗口中,雙擊左側的「ThisDocument」選項,并在右側彈出的空白窗口中粘貼如下腳本:
Sub DirectFormat()
Dim para As Paragraph
Dim fnt As Font
Dim pfmt As ParagraphFormat
For Each para In ActiveDocument.Paragraphs
With para
If .Style <> ActiveDocument.Styles("Normal") Then
Set fnt = .Style.Font
Set pfmt = .Style.ParagraphFormat
.Style = ActiveDocument.Styles("Normal")
.Range.Font = fnt
.Range.ParagraphFormat = pfmt
End If
End With
Next End Sub
點擊上方工具欄中的「運行」按鈕,執行上述命令;
所有的樣式現在已經被清除。
要檢查是否運行成功,在「主頁」選項卡中,點擊「樣式」區域右下角的展開按鈕,展開樣式窗格,然后試著在之前設置有樣式的段落中單擊。如果右側的樣式窗格中始終顯示為「Normal」樣式,則表明已經運行成功。
備注
需要注意的是,如果你同時打開了多份 Word 文檔,那么在上述 VBA 編輯器的左側,也會出現多個文檔的選項。這種場合,請保證選中了 Project(需要去除樣式的文檔)-Microsoft Word Objects-ThisDocument 并使其高亮,然后再在右側粘貼并執行代碼。
Facts for Nerds
上述命令的作用如下:遍歷文檔中所有段落并檢查其樣式,如果某一段落的樣式不是「Normal(正文)」,則記住其當前格式設置,然后清除該段落的樣式,最后將先前記住的格式重新應用到該段落上。
- 上一篇:如何為文檔中圖片添加自動編號?圖片編號的使用是必不可免的 [2022-10-13]
- 下一篇:如何使用辦公軟件文檔制作生成二維碼?而且不需要任何第三方插件 [2022-10-13]