功 能 變 數 對 Word 來 說,是 一 項 很 重 要 的 工 具,有 許 多 功 能,必 須 透 過 它 才 能 實 現。舉 個 例 子,像 是 在 直 書 的 時 候,要 把 兩 個 阿 拉 伯 數 字「直 立 並 排」所 使 用 的 格 式/組 排 文 字 指 令,其 實 就 是 以 巨 集 的 方 式, 將 您 所 指 定 的 數 字「 套」 到 功 能 變 數 裡 面,而 使 它 產 生 直 立 並 排 的 效 果。

像 這 樣 的 例 子 還 有 很 多, 事 實 上, 大 部 份 的 使 用 者 幾 乎 都 使 用 過 功 能 變 數, 只 不 過 自 己 不 見 得 知 道 罷 了。 就 我 的 認 知, 除 非 是 把 Word 純 粹 當 做 文 字 編 輯 器 使 用, 否 則 的 話, 不 用 到 功 能 變 數 幾 乎 是 不 可 能 的 事。 但 是 大 多 數 的 使 用 者, 由 於 對 功 能 變 數 不 怎 麼 熟 悉, 而 且 一 般 的 Word 參 考 書 也 都 避 談 這 一 部 份( 美 其 名 曰 大 多 數 使 用 者 用 不 著?), 以 致 於 不 敢 去 運 用 這 項 有 力 的 工 具, 來 製 造 更 好 的 文 件 效 果。

本 專 欄 的 目 的,就 是 希 望 幫 助 網 友 們 認 識 功 能 變 數 的 用 途,與 各 種 操 作 的 手 法, 俾 能 破 解 對 功 能 變 數 的 恐 懼 感, 如 此 才 能 在 製 作 文 件 的 時 候, 正 確 地 善 加 利 用 各 種 功 能 變 數, 使 文 件 製 作 的 水 準 提 升 到 最 高 的 境 界。

雖 然 功 能 變 數 包 含 甚 廣, 但 我 會 盡 可 能 地 由 淺 入 深,作 一 個 完 整 的 介 紹。 由 於 內 容 實 在 很 多,所 以 這 個 專 欄 也 將 要 採 用「 連 載」 的 方 式, 每 一 次 刊 載 一∼二 個 單 元, 而 每 個 單 元 刊 載 的 時 間 不 會 超 過 一 個 月。 因 此, 如 果 您 對 這 個 專 題 有 興 趣 的 話, 請 密 切 注 意「 換 檔」 的 時 間, 以 免 向 隅。


第 六 單 元 {Seq} 功 能 變 數 的 應 用

刊 載 日 期:1999 年 7 月 13 日

{Seq} 功 能 變 數 的 用 途,就 是 插 入 一 個 編 號 數 字。如 果 沒 有 特 別 指 定 的 話,則 第 一 次 出 現 的 時 候,它 會 顯 示“ 1 ”;第 二 次 則 顯 示“ 2 ”;…;依 此 類 推。這 些 數 字 有 什 麼 用 處 呢?想 想 看,如 果 文 件 裡 面 有 很 多 圖 形 或 表 格,而 你 又 想 把 它 們 依 出 現 的 先 後,編 上“表 一”、“表 二”、“圖 一”、“圖 二”、…的 時 候,這 個 功 能 變 數 就 可 以 派 上 用 場 了。

但 在 實 際 使 用 的 時 候,它 和 {Eq} 功 能 變 數 其 實 是 很 相 似 的:它 們 都 可 以 說 是「隱 藏 性」的 功 能 變 數。在 此,「隱 藏 性」的 意 思 是 說,大 部 份 的 時 候,它 隱 藏 在 另 一 個 指 令 之 下,你 會 用 到 它,但 你 不 會 看 到 它。以{Seq} 而 言,大 部 份 的 人 都 是 透 過 插 入/標 號 指 令,而 不 是 直 接 插 入 功 能 變 數。這 有 什 麼 差 別 嗎?我 的 看 法 是,除 了 速 度 之 外,自 己 動 手 比 較 有 彈 性,又 可 以 避 免 很 多「垃 圾」(指 不 必 要 的 文 字)。

{Seq} 的 語 法 及 選 擇 性 參 數

{Seq} 的 功 能 變 數 碼 包 括 兩 種 型 式:

  {Seq 識別名稱 選擇性參數 數字格式參數} 或
  {Seq 識別名稱 書籤名稱}

其 中 的 識 別 名 稱,是 用 來 決 定 這 個 編 號 序 列 的 主 要 因 素。一 個 識 別 名 稱,就 代 表 一 組 編 號。舉 例 來 說,如 果 在 文 件 中 要 同 時 為 插 圖 與 表 格 編 號,那 就 得 使 用 兩 個 識 別 名 稱,分 別 主 導 插 圖 與 表 格 的 編 號 序 列,否 則 的 話,圖、表 的 編 號 就 會 混 雜 在 一 起,產 生 像「圖 一、表 二、表 三、圖 四、…」這 樣 的 混 亂 局 面。

至 於 第 二 種 型 式 裡 面 的 書 籤 名 稱,它 所 標 示 的 範 圍,必 須 是 另 一 個 {Seq} 功 能 變 數,利 用 這 種 方 式,我 們 就 可 以 交 互 參 照 到 那 一 個 {Seq} 功 能 變 數 的 結 果(號 碼),利 用 下 一 節 的 實 例,您 就 可 以 很 清 楚 地 了 解 這 種 用 法。

接 下 來,我 們 就 看 一 下 它 有 那 些 選 擇 性 參 數,可 供 選 用:

\c 不 增 加 此 編 號 序 列 計 數,然 後 插 入 目 前 的 編 號 數 字。舉 例 來 說,假 設 文 件 中 只 有 以 下 四 個 功 能 變 數,則 它 們 所 得 到 的 結 果 如 下,請 特 別 注 意 號 碼 增 加 的 情 形:
  {Seq test} → 1
  {Seq test} → 2
  {Seq test \c} → 2
  {Seq test} → 3
\h 繼 續 增 加 編 號 序 列 的 計 數,但 不 顯 示 其 結 果。例 如:
  {Seq test} → 1
  {Seq test \h} → (空 白)
  {Seq test} → 3
\n 編 號 序 列 的 計 數 增 加 1 ,並 顯 示 增 加 後 的 結 果。此 項 目 為 預 設 選 項,不 需 要 特 別 標 示。
\r n 將 編 號 序 列 的 計 數,重 新 設 定 成 n。例 如:
  {Seq test} → 1
  {Seq test} → 2
  {Seq test \r 1} → 1
  {Seq test} → 2
\s n n 層 級 的 標 題 段 落 之 後,將 編 號 序 列 的 計 數 重 設 為 1。使 用 這 項 參 數 必 須 特 別 小 心,否 則 將 會 導 致 編 號 混 亂 的 結 果。例 如:
    → 

我 們 注 意 到 上 例 中,第 四 個 編 號 顯 然 出 問 題 了。如 果 想 要 避 免 發 生 這 樣 的 錯 誤,您 必 須 在 整 個 編 號 序 列 的 功 能 變 數 碼 中,全 部 加 上 \s n 參 數,而 不 是 只 有 標 題 段 落 之 後 的 那 一 個,否 則 的 話,還 不 如 使 用 \r n 參 數 算 了。這 一 點 很 重 要,請 務 必 留 意!

至 於 功 能 變 數 碼 最 後 的 數 字 格 式 參 數,當 然 是 用 來 決 定 編 號 數 字 的 形 式,像 是 阿 拉 伯 數 字、羅 馬 數 字、或 中 文 數 字 等。在 第 三 單 元 裡 面,已 經 針 對 這 個 項 目 做 過 詳 細 的 介 紹,在 這 裡 就 不 再 贅 述 了。

基 本 使 用 範 例

在 使 用 {Seq} 功 能 變 數 之 前,應 該 先 了 解 一 件 事:這 個 功 能 變 數 並 不 會 自 動 更 新。舉 個 例 子,如 果 你 在 文 件 開 頭 新 增 一 個 {Seq} 功 能 變 數,文 件 後 頭 的 {Seq} 也 不 會 自 動 加 一。你 必 須 選 取 這 些 功 能 變 數,並 按 下 F9 鍵 更 新 才 行。

底 下 我 們 就 直 接 看 一 下 field6-1.doc 這 個 範 例 檔 案。這 裡 面 包 含 三 組 編 號 序 列,以 及 配 合 書 籤 名 稱 的 交 互 參 照 用 法。

顯 示 所 有 的 功 能 變 數 碼

顯 示 結 果

這 個 範 例 文 件 裡 面 所 包 含 的 功 能 變 數 碼,您 應 該 都 可 以 輕 鬆 地 識 別。雖 然 如 此,針 對 一 些 我 覺 得 比 較 容 易 被 忽 略 的 地 方,還 是 做 幾 點 提 示:

除 了 這 個 簡 單 的 例 子,在 練 功 房 專 欄 的 第 四 個 單 元 裡 面,也 曾 經 介 紹 過 將 {Seq} 功 能 變 數 放 在 文 字 方 塊 裡 面,藉 以 製 作 直 排 文 件 的 段 落 編 號,這 也 是 很 值 得 您 參 考 的 一 種 應 用 方 式。

兩 個 與 書 籤 合 用 的 範 例

最 後 所 要 介 紹 的 這 兩 個 例 子,都 是 網 友 實 際 發 生 的 問 題,由 於 它 們 正 好 可 以 用 {Seq} 功 能 變 數 來 處 理,所 以 我 就 把 它 們 放 在 這 裡,算 是 給 這 個 單 元 做 個 總 結。

參 考 文 獻 編 號 的 更 新

這 個 問 題 是 這 樣 子 的:

假 設 我 有 一 文 件 內 容 如 下:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXX
有 關Windows 95 的 網 路 設 定, 讀 者 可 參 考[1]、[4]、[6] 等 書 籍
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXX

參 考 資 料
1.A Book
2.B Book
3.C Book
4.D Book
5.E Book
6.F Book

倘 若 我 後 來 更 動 了 參 考 資 料 的 順 序,例 如:A Book 改 放 在[3],D Book 改 放 在[5]…。我 希 望 本 文 中 參 考 到 的 書 目 編 號 也 能 跟 著 變 動,請 問 我 該 怎 麼 做?

像 這 樣 的 情 況,如 果 希 望 本 文 裡 面 的 編 號 能 夠 跟 著 變 動,那 就 要 用 到「參 照」的 觀 念。但 據 我 的 經 驗,參 照 倒 不 一 定 要 用 {Ref} 功 能 變 數,直 接 引 用 書 籤 的 內 容,往 往 比 較 省 時 省 事。所 以 我 處 理 這 個 問 題 的 方 法 是:

  1. 在 文 件 最 後 面 的 參 考 文 獻 清 單,利 用 {Seq} 功 能 變 數 將 每 一 個 參 考 資 料 編 號,並 將 每 一 個 {Seq} 功 能 變 數 分 別 定 義 成 書 籤。
  2. 在 文 件 中 需 要 引 用 參 考 資 料 編 號 的 地 方,插 入 空 白 功 能 變 數,然 後 在 其 中 填 入 相 對 應 的 書 籤 名 稱。
  3. 當 參 考 資 料 的 先 後 順 序 完 全 確 定 之 後,選 取 整 份 文 件,再 按 下 F9 鍵 更 新 所 有 功 能 變 數。
關 於 第 三 點 的 操 作 法,大 家 應 該 都 很 熟 悉,現 在 我 們 就 利 用 field6-2.doc,實 際 練 習 一 下 第 一、二 點:
  1. 選 取“ A Book ”前 面 的“1”,然 後 按 Delete 鍵 將 其 刪 除。
  2. 按 下 Ctrl + F9 鍵,插 入 一 個 空 白 功 能 變 數。
  3. 將 功 能 變 數 碼 編 輯 為 {Seq book},然 後 再 按 下 F9 鍵 更 新 顯 示 結 果。其 中 book 是 這 個 編 號 序 列 的 識 別 名 稱。
  4. 選 取 剛 剛 插 入 的 {Seq} 功 能 變 數,再 選 取 插 入/書 籤 指 令,開 啟 書 籤 對 話 方 塊。
  5. 書 籤 名 稱 處 輸 入“bk1”或 你 自 己 喜 歡 的 名 稱,然 後 按 下 新 增 按 鈕。
  6. 依 同 樣 方 式 處 理 其 他 參 考 資 料 的 編 號。
  7. 選 取 本 文 中 需 要 參 照 參 考 資 料 之 編 號 處,然 後 按 Delete 鍵 將 其 刪 除。
  8. 按 下 Ctrl + F9 鍵,插 入 一 個 空 白 功 能 變 數。
  9. 將 功 能 變 數 碼 編 輯 為 {bk1},然 後 再 按 下 F9 鍵 更 新 顯 示 結 果。注 意,其 中 的 bk1 正 是 相 對 應 的 書 籤 名 稱。
  10. 以 同 樣 的 方 式 處 理 其 他 需 要 參 照 文 件 編 號 的 地 方。
現 在 我 們 可 以 試 試,這 種 做 法 是 否 真 的 能 解 決 自 動 更 新 號 碼 的 問 題。在 此 之 前,我 們 先 看 一 下 整 份 文 件 的 編 號 情 形:

現 在 我 們 試 著 調 整 一 下 參 考 文 件 的 順 序,看 看 本 文 的 參 照 號 碼 是 否 會 跟 著 變 動:

  1. 將 插 入 點 置 於 參 考 文 件 中,“ D Book ”那 一 個 段 落 裡 面。
  2. 按 一 下 Shift + Alt + ↑ 鍵,這 時 候 這 個 段 落 應 該 會 和 上 一 個 段 落 互 換 位 置,也 就 是 說,它 會 變 成 第 三 個 參 考 文 件。
  3. 按 一 下 Ctrl + A 鍵 選 取 整 份 文 件,然 後 再 按 下 F9 鍵 更 新 所 有 功 能 變 數。
現 在 我 們 再 看 一 下 更 新 後 的 編 號 情 形,發 現 該 更 新 的 地 方,確 實 有 改 過 來,表 示 任 務 順 利 完 成。在 下 圖 中,請 注 意 比 較 有 加 上 紅 圈 的 部 份。

參 照 方 程 式 編 號

這 一 個 問 題 與 前 一 個 類 似,簡 單 描 述 如 下:

在 文 件 中 插 入 很 多 方 程 式(利 用 方 程 式 物 件),每 一 個 方 程 式 都 使 用 插 入/標 號 指 令 予 以 編 號。當 文 章 裡 面 需 要 參 照 到 這 些 號 碼 時,再 利 用 插 入/交 互 參 照 指 令 實 施。但 這 麼 做 會 產 生 一 個 問 題,就 是 連 方 程 式 左 邊 的 內 容 都 會 出 現 在 參 照 裡 面!

這 樣 的 描 述,不 知 道 你 看 懂 了 沒 有?沒 關 係,我 們 實 際 來 操 作 一 遍,您 就 明 瞭 問 題 所 在 了:

  1. 開 啟 field6-3.doc。
  2. 將 插 入 點 移 到 第 一 行 的 行 尾,按 一 下 Tab 鍵,再 點 選 插 入/標 號 指 令,開 啟 標 號 對 話 方 塊。
  3. 標 籤 下 拉 式 列 示 清 單 設 定 成 方 程 式,然 後 點 選 確 定 按 鈕。這 時 候 在 第 一 行 行 尾 就 會 出 現“方 程 式 1”的 標 示 號 碼。
  4. 將 插 入 點 移 到 第 三 行 行 尾,然 後 點 選 插 入/交 互 參 照 指 令,開 啟 交 互 參 照 對 話 方 塊。
  5. 參 照 類 型 下 拉 式 列 示 清 單 設 定 成 方 程 式,然 後 在 指 定 標 號 列 示 清 單 內,選 擇 剛 才 插 入 的 標 號,再 點 選 插 入 按 鈕。
  6. 點 選 關 閉 按 鈕。
現 在 請 看 一 下 這 樣 操 作 下 來 所 得 到 的 結 果:

現 在 您 知 道 問 題 出 在 那 裡 了 嗎?像 這 樣 的 參 照,我 們 通 常 是 希 望 得 到 類 似“方 程 式1”的 結 果,但 現 在 我 們 卻 是 得 到 一 整 個 段 落 的 內 容,實 在 是 有 些 消 化 不 良。也 許 您 會 問:「如 果 更 改 插 入 參 照 類 型 的 下 拉 式 列 示 清 單 的 選 項,情 況 會 不 會 好 一 點?」

很 抱 歉,結 果 仍 然 相 同!因 為 這 跟 Word 完 成 這 件 工 作 的 方 式 有 關。以 方 程 式 編 號 為 例,當 我 們 使 用 插 入/交 互 參 照 指 令 的 時 候,Word 會 執 行 以 下 的 動 作:

  1. 搜 索 整 份 文 件,找 出 包 含“方 程 式” + {SEQ 方程式 \* ARABIC} 這 種 特 徵 的 段 落。
  2. 將 每 一 個 符 合 條 件 的 段 落,皆 定 義 成「隱 藏 性」書 籤,其 書 籤 名 稱 為 _Refxxxxxxxxx(x 代 表 一 個 數 字)。
  3. 開 啟 交 互 參 照 對 話 方 塊,讓 使 用 者 選 取 適 用 的 書 籤(也 就 是 指 定 標 號 列 示 清 單 的 內 容)。
  4. 當 使 用 者 點 選 插 入 按 鈕 時,Word 即 插 入 {Ref _Refxxxxxxxxx} 功 能 變 數。
從 以 上 的 過 程,您 應 該 已 經 發 現 問 題 出 在 那 裡。對!就 是 在 定 義 書 籤 範 圍 這 一 點 上 面!我 們 比 較 希 望 的 範 圍,其 實 是 只 包 含“方 程 式” + {SEQ 方程式 \* ARABIC},而 不 是 整 個 段 落!如 果 要 克 服 這 個 問 題,我 們 就 只 好 自 己 動 手 來 定 義 書 籤 範 圍,除 此 之 外,沒 有 第 二 條 路!

為 什 麼 Word 會 將 整 個 段 落 定 義 成 書 籤?
這 跟 圖 文 框 有 關。當 使 用 插 入/標 號 指 令 去 標 示 物 件 號 碼 時,標 號 通 常 會 被 放 在 圖 文 框 裡 面;反 過 來 講,圖 文 框 的 內 容 也 只 包 含 標 號。如 此 一 來,將 整 個 段 落 內 容 定 義 成 書 籤,並 沒 有 什 麼 問 題!

但 當 初 設 計 這 一 段 程 式 的 人 忽 略 掉 一 點:「方 程 式 通 常 是 以 inlineshape(亦 即 文 字 間 圖 片)的 方 式 插 入!」這 樣 一 來,標 號 就 會 出 現 在 物 件 後 面,而 不 是 在 獨 立 的 圖 文 框 裡 面,結 果 就 是 把 包 含 方 程 式 物 件 的 整 個 段 落,全 部 標 示 成 書 籤 範 圍 了!

以 手 動 的 方 式 標 示 書 籤 的 過 程,您 應 該 早 就 會 了,在 這 裡 就 省 了 吧!但 有 時 候 我 們 會 碰 到 一 個 問 題:「方 程 式 太 多 了,要 做 許 多 次 定 義 書 籤 的 動 作,太 累 了!」

在 這 裡 我 提 供 一 個 小 巨 集,來 完 成 這 個 工 作(此 巨 集 已 包 含 在 field6-3r.doc 裡 面):

Sub AddFieldAndBookmark()

If ActiveDocument.Variables.Count = 0 Then
ActiveDocument.Variables.Add "EqNum", "1"
End If
bknum = ActiveDocument.Variables("EqNum").Value
Selection.Fields.Add Selection.Range, _
wdFieldEmpty, "Seq Eq \* arabic", True
Selection.MoveLeft , , wdExtend
bkname = "Eq" & bknum
ActiveDocument.Bookmarks.Add bkname, Selection.Range
Selection.MoveRight
bknum = bknum + 1
ActiveDocument.Variables("EqNum").Value = bknum

End Sub

這 個 巨 集 會 完 成 兩 件 事:

  1. 插 入 {Seq Eq \* arabic} 功 能 變 數。
  2. 將 剛 插 入 的 功 能 變 數 定 義 成 書 籤,書 籤 名 稱 為“Eqx”,其 中 x 為 一 個 號 碼,由 巨 集 自 動 產 生。
有 了 這 個 巨 集 之 後,每 插 入 一 個 方 程 式,就 執 行 一 次 巨 集,方 程 式 就 會 被 編 號、並 定 義 成 書 籤。以 後 在 文 件 中 如 果 需 要 參 照 到 這 個 方 程 式 編 號 時,只 要 利 用 { 書籤名稱} 功 能 變 數 就 可 以。如 此 一 來,就 可 以 節 省 大 量 的 時 間、精 神!

範 例 檔 案 下 載

範 例 檔 案 解 壓 縮 之 後,包 括:
過 期 文 章 簡 介