天天看點

word 内嵌自動編号功能需求如何實作總結

word中,各種清單編号、圖表序号、樣式格式等等問題,我已經在 word正常模闆設定 中做了比較詳細的叙述。部落格中我講解了如何從零開始規範得建構一個word模闆,規範的使用方式可以使word作為辦公軟體的效率大大提升。本文重點想更深入地探讨一下自動編号相關的功能,講解一下大多數人可能從來沒有使用過的進階功能 —— 内嵌編号(inline numbering)。

說明:本文中的截圖使用 Mac 版的 Word 2016, 文中涉及的操作在Windows下的Word 2010及以上版本基本是一緻的。

功能需求

如果按照 word正常模闆設定 中的步驟,平時寫文檔時候的需求就基本能夠滿足了。

但是,凡事沒有絕對,看一下這個案例:

文本來自Francis Scott Key Fitzgerald《了不起的蓋茨比》

現在,你需要像下面這樣對文本中的每段話進行編号,以便文章的修訂者排列這些句子的順序,以及必要的時候進行增加、删除等操作。

word 内嵌自動編号功能需求如何實作總結

通常,大家都是一行一行讀文本,然後在每一句前面手動加上編号。文本比較短的時候,完全沒有問題,反正編号也不多。想象一下,現在文本裡面有200個句子……再想象一下,當你終于完成任務時,發現自己漏掉了編号為50的句子……

再來說一個案例:

word 内嵌自動編号功能需求如何實作總結

想象一下,上司說,把第3個附件去掉……

接到這樣的任務,我想大家的内心都是崩潰的,我真心祝願大家永遠不要碰上這樣的事情。

不過,話說回來,萬一要是遇上了怎麼辦呢?

再說,雖然我這裡的案例比較極端,但我想在寫文檔的時候或多或少會遇上類似的自動編号需求,那麼,能不能插入一個數字,讓它像清單一樣自動進行編号呢?

如何實作

快速回想一下對 word 編号功能已有的知識,在“開始”面闆裡面,提供了三種常用的編号:

word 内嵌自動編号功能需求如何實作總結

左起第一個是項目符号,用于無序清單。第二個是清單編号,包含各種格式的自動編号項。第三個是多級清單,主要用于對文章不同級别的标題編号。

如果動手實踐一下,很快就會發現,這三個編号都是針對段落的。也就是說,它們的清單項都對應着單獨的段落,對于想要在文本中間插入這些清單項是行不通的。

要完成這樣的任務,就必須要介紹一個 Word 的進階功能 ——“域”。它就像是一段格式化輸出的代碼,可以在不同的要求下輸出不同的格式和内容。

對于程式員來說,對各種自動編号是有強迫症的,一定要它自己依次自加遞增。

“域”對于大家來說可能既熟悉,又陌生。好像很多地方都有提到過“域”這個名詞,但是究竟可以用它來做什麼,可能很多人并不清楚。

我們以一個例子來介紹一下“域”。

首先,我們在頁面空白的地方,插入兩個題注:

word 内嵌自動編号功能需求如何實作總結
word 内嵌自動編号功能需求如何實作總結

在 Mac 下,這個編号會顯示為灰色,而在Windows下,當它的文字被選中的時候,也會顯示為灰色。

這時,我們選中這兩個數字,并單擊滑鼠右鍵,選擇“切換域代碼”:

word 内嵌自動編号功能需求如何實作總結

就會看到,編号的數字,變成了下面這個樣子的文本:

word 内嵌自動編号功能需求如何實作總結

如果再次選擇“切換域代碼”,又會顯示為剛才的數字文本。實際上,這就是“域”,它由格式化的代碼來控制文本的顯示。上面的例子隻是“域”使用的一個簡單的情況,事實上,Word 中清單、頁碼、腳注、目錄等等,都是通過“域”功能來實作的,這是一個非常強大的功能。

“域”代碼塊插入的快捷鍵是“ctrl(cmd) + F9”,會插入一個花括号包圍的區域,同樣以灰色底紋的方式顯示。當然,更常用的方式應該是通過“插入”面闆下的“域”按鈕,來插入一個域。

word 内嵌自動編号功能需求如何實作總結

選擇“插入域”的按鈕後,會彈出一個對話框。(這裡 Mac 下的顯示方式與 Windows 略有差別,不過功能都是一緻的)

word 内嵌自動編号功能需求如何實作總結

可以看到,在類别選項框中,有很多可供選擇的域代碼類。

本文中,我們主要講解内嵌編号功能,是以隻重點介紹 LISTNUM 和 SEQ 關鍵字,其餘功能大家可以自己測試摸索。

LISTNUM

我們首先以第一個案例為示範。

word 内嵌自動編号功能需求如何實作總結

打開“插入域”對話框後,選擇“編号”類别,然後在“域名”清單中,選擇 LISTNUM 關鍵字,并打開它的“選項”視窗。(再次提示,這裡 Mac 下的顯示方式與 Windows 略有差別,不過功能都是一緻的)

word 内嵌自動編号功能需求如何實作總結

從這個關鍵字的名稱就很容易知道,它就是用來為清單編号的。它主要有兩個選項類可供配置,分别是“域專用開關”和“清單名稱”。“域專用開關”下面有兩個選項,分别是:

  • “\l”:清單層次(level)
  • “\s”:起始編号(start)

而在“清單名稱”當中,有三個選項,分别表示不同的編号顯示類型:

  • LegalDefault
  • NumberDefault
  • OutlineDefault

我們用一個清單來表示這些選項的作用:

word 内嵌自動編号功能需求如何實作總結

*圖檔來自《(Automatic) Numbering Using Fields in Word 2010 | Just Another Microsoft Office Blog》

現在,我們來具體說說這個 LISTNUM 域代碼怎麼使用。

根據上面所列的選項與對應的樣式,我們這裡需要“1.”這樣的形式,是以,level 應該設定為 1 級,“清單名稱”設定為“LegalDefault”,(起始編号“\s”這裡不必使用,預設是從1開始編号的),如下圖:

word 内嵌自動編号功能需求如何實作總結

點選“确定”後,就插入到文本中了。

word 内嵌自動編号功能需求如何實作總結

同樣,選中後單擊“切換域代碼”,會顯示剛剛插入的域代碼塊。

word 内嵌自動編号功能需求如何實作總結

再次,單擊“切換域代碼”,将它切回數字文本的狀态,然後,選中這個數字,“Ctrl(cmd)+C”複制,并選擇下一個句子的開頭,“Ctrl(cmd)+V”粘貼,就會看到,這個編号自動變成了“2.”。

word 内嵌自動編号功能需求如何實作總結

剩下的不用我說了,就全部複制到合适的位置就好了。

這樣有一個好處,當我們對中間的編号做了增加,或者删除以後,這些編号會自動更新。或者我們也可以選擇全部編号,滑鼠右鍵,選擇“更新域”,或者在 Windows 上可以按“F9”快捷鍵,來實作手動更新。

word 内嵌自動編号功能需求如何實作總結

如果這樣就完了的話,第一次編号時,我們還是要對每個句子手動的“Ctrl(cmd)+V”粘貼,仍然很麻煩(程式員堅決不做機械重複的勞動)。

針對這個案例,講一個快速簡便的方法,那就是使用“查找和替換”功能,查找每一個句号的節點,然後在句号後面加上域代碼字元串。唯一需要注意的是要将域代碼替換上去,一定要先将域代碼複制到剪貼闆,然後在替換選項裡選擇“剪貼闆内容”。

word 内嵌自動編号功能需求如何實作總結

最後,再将段落末尾的編号都去掉,更新一下所有編号域就好了。

word 内嵌自動編号功能需求如何實作總結

再想一想文章開始時描述的,現在文本裡面有200個句子……當你終于完成任務時,發現自己漏掉了編号為50的句子……

如果用替換功能,根本不會漏掉。真是漏掉了一個,單獨粘貼域代碼上去,全選,然後按“F9”快捷鍵更新域,編号就全部自動更新了。是不是免去了很多繁瑣的機械重複。

SEQ

然後,我們再來說說本文開始舉例的第二個案例。有了上一節的鋪墊,這裡的介紹會相對概略一些。

word 内嵌自動編号功能需求如何實作總結

由于這個裡面,編号的樣式後面不應該有“.”這樣的符号,這種情況下使用 LISTNUM 是不行的。

SEQ 關鍵字是由“sequence”來的,意思是序列。實際上,在上文中,我們“插入題注”後,将題注轉換為域代碼,就已經見到過這個關鍵字了。

word 内嵌自動編号功能需求如何實作總結

同樣,我們選擇插入“SEQ”關鍵字,單擊“選項”按鈕,彈出“域選項”對話框。可以看到 SEQ 支援的格式有很多,包括數字的樣式也都可以設定。

word 内嵌自動編号功能需求如何實作總結

在“域專用開關”裡面類似 LISTNUM 的開關,也有一些專用的屬性,選擇每個屬性下面都會出現文字介紹。用法與 LISTNUM 也是類似的,我們就不贅述了。

word 内嵌自動編号功能需求如何實作總結

實際上,大多數情況下使用 SEQ 關鍵字預設的屬性配置就可以了,對我們這裡的案例來說,域代碼非常簡單:

word 内嵌自動編号功能需求如何實作總結

這裡在 SEQ 後面跟了 “附件”字元串,實際上,用别的字元串也可以,隻是為了區分不同的序列,比如“圖”序列、“表”序列等等,它們的編号是分開的。

word 内嵌自動編号功能需求如何實作總結

下面的操作我想就不用我啰嗦了,原則就是能夠替換就替換,不好替換光用複制粘貼也行,編号做好了以後,後期即使要修改也完全沒有壓力。

總結

本文重點針對 Word 的自動編号“域”代碼,實作了内嵌編号的功能。主要采用了 LISTNUM 和 SEQ 關鍵字,并對它們的使用方法進行了大緻的講解。當然,Word 支援的關鍵字是非常多的,可以實作非常多的功能,提高工作的效率,如果有時間的話,建議大家實際操作了解一下。

再次陳述我的觀點,Word 不僅僅是一個文本編輯器,希望大家都能夠好好利用它。

感謝閱讀,如有錯誤,望不吝指正!

繼續閱讀