LibreOffice 24.8 Help
條件為邏輯表示式,您可以用來控制文件中的欄位 和區段 。雖然以下範例適用於欄位,但它們也適用於區塊。
您可以為以下欄位類型定義條件:
條件文字:如果條件為真則顯示文字 A;或如果條件為假,則顯示文字 B。
隱入文字:如果條件為真則隱入欄位的內容。
隱入段落:如果條件為真則隱入段落。
任何資料條目和下一個資料條目:控制存取資料庫資料條目。
定義條件最簡單的方法是使用下列值,直接在[條件]方塊中鍵入邏輯表達式:
| TRUE | 總是滿足條件。或者,您也可以輸入任意一個不等於 0 的數值作為條件文字。 | 
| FALSE | 條件未滿足。您也可以指定數值為 0。 | 
如果您保留[條件]方塊為空白,則解譯為未符合條件。
當您定義某個條件時,請使用相同的元素 以定義公式,即比較運算子、數學與統計函式、數字格式、變數與常數。
定義條件時,您可以使用下列變量類型:
文件特性使用統計資料的預先定義的 LibreOffice 變數
自訂變量,由「設定變量」欄位建立
基於使用者資料的變量
基於資料庫欄位內容的變量
在條件表達式中,您無法使用內部變量 (如頁碼和章節號)。
下列範例使用了稱為「x」的變量:
| x == 1 或 x EQ 1 | 如果「x」等於 1,則該條件為真。 | 
| x != 1 或 x NEQ 1 | 如果「x」不等於 1 則該條件為真。 | 
| sinx == 0 | 如果「x」是 pi 的倍數則條件為真。 | 
若要以字串形式表示比較運算子,運算元必須用雙引號引起來:
| x == "ABC" 或 x EQ "ABC" | 檢查變量「x」是否包含「ABC」字串 (包含為真,未包含為假)。 | 
| x == "" 或 x EQ "" 以及 !x 或 NOT x | 檢查變量「x」是否包含空白字串。 | 
在條件中,「等於」比較運算子必須由兩個等號 (==) 來表示。例如,如果定義變數「x」的值為 1,您可以輸入條件 x==1。
You can include user data when you define conditions. To change your user data, choose LibreOffice - PreferencesTools - Options - LibreOffice - User data. User data must be entered in the form of strings. You can query the user data with "==" (EQ), "!=" (NEQ), or "!"(NOT).
下表列出了使用者資料變量及其含義:
| 變量 | 涵義 | 
|---|---|
| user_firstname | 名字 | 
| user_lastname | 姓氏 | 
| user_initials | 縮寫 | 
| user_company | 公司 | 
| user_street | 街道 | 
| user_country | 國家/地區 | 
| user_zipcode | 郵遞區號 | 
| user_city | 城市 | 
| user_title | 職稱 | 
| user_position | 位置 | 
| user_tel_work | 公司電話 | 
| user_tel_home | 住家電話 | 
| user_fax | 傳真號碼 | 
| user_email | Email address | 
| user_state | 省 (並非所有 LibreOffice 版本都有) | 
例如,若要對具有特定縮寫 (如「LM」) 的使用者隱入段落、文字或區塊,請輸入條件:user_initials=="LM"。
您可以定義存取資料庫或資料庫欄位的條件。例如,您可以使用條件檢查資料庫欄位的內容,或在邏輯表達式中使用資料庫欄位。下表列出了在條件中使用資料庫的更多範例:
| 範例 | 涵義 | 
|---|---|
| database.sheet.company Database.Table.Company NEQ "" Database.Table.Company != "" | 如果 COMPANY 欄位不是空白則條件為真。(在第一個範例中,不需要運算子。) | 
| !Database.Table.Company NOT database.sheet.company Database.Table.Company EQ "" Database.Table.Company =="" | 如果 COMPANY 欄位為空白,則傳回 TRUE。 | 
| Database.Table.Company !="Sun" Database.Table.Company NEQ "Sun" | 如果 COMPANY 欄位中目前的項目不是「Sun」,則傳回 TRUE (驚歎號代表邏輯 NOT)。 | 
| database.sheet.firstname AND database.sheet.name | 如果資料條目包含名字和姓氏,則傳回 TRUE 。 | 
請注意邏輯的 NOT "!" (NOT) 和比較運算子「不等於」"!=" (NEQ) 之間的差異。
條件中涉及資料庫欄位時,請使用格式 Databasename.Tablename.Fieldname。如果其中一個名稱包含運算子字元,例如減號 (-),則將該名稱括在方括號內,例如 Databasename.[Table-name].Fieldname。欄位名稱內不得有空格。
您可能想要建立隱入空白欄位的條件,例如,假如某些資料條目的 COMPANY 欄位為空。
選取 [隱藏的段落] 清單項目,並鍵入下列條件:Addressbook.Addresses.Company EQ ""
或鍵入下列條件
NOT Addressbook.Addresses.Company
如果 COMPANY 資料庫欄位為空,則條件為真,且該段落被隱入。
To display hidden paragraphs on the screen, choose , and clear the Hidden paragraphs check box.
下列範例使用條件文字欄位,但這些範例也可以採用至任何可與條件連結的欄位。條件所使用的語法也用於隱入的文字、隱入的段落、任何資料條目或下一個資料條目等欄位。
選擇[插入] - [欄位指令] - [其他],然後按一下[功能]標籤。
在[欄位類型]清單中,按一下「有條件的文字」。
在[條件]方塊中,鍵入「page == 1」。
在[就]方塊中,鍵入「There is only one page」。
在[否則]方塊中,鍵入「There are several pages」。
按一下[插入],然後按一下[關閉]。
選擇[插入] - [欄位指令] - [其他],然後按一下[變量]標籤。
在[欄位類型]清單中,按一下「設定變量」。
在[名稱]方塊中,鍵入「Profit」。
在[數值]方塊中,鍵入「5000」。
按一下[插入]。
按一下[功能]標籤,並在[欄位類型]清單中按一下「有條件的文字」。
在[條件]方塊中,鍵入「Profit < 5000」。
在[就]方塊中,鍵入「Target is not met」。
在[否則]方塊中,鍵入「Target is met」。
按一下[插入]。
若要編輯「Profit」變量的內容,請按兩下此變量欄位。
此範例的第一部份在文件的「名字」和「姓氏」欄位之間插入一個空格,第二部份依欄位的內容插入文字。此範例需要地址資料來源以 LibreOffice 註冊。
選擇[插入] - [欄位指令] - [其他],然後按一下[資料庫]標籤。
在[欄位類型]清單中,按一下「合併列印欄位」。
在[選擇資料庫]方塊中,按兩下某個通訊錄,按一下「名稱」,然後按一下[插入]。對「姓氏」重複上一個指令。
在文件中,將游標放置在兩個欄位之間,按空格鍵,然後返回[欄位指令]對話方塊:
按一下[功能]標籤,然後在[欄位類型]清單中按一下「有條件的文字」。
在[條件]方塊中,鍵入:「Addressbook.addresses.firstname」。
在[就]方塊中,鍵入一個空格,並使[或]方塊保持空白狀態。
現在,您可以使用條件依名稱欄位的內容來插入文字。
在[欄位指令]對話方塊中,按一下[功能]標籤。
在[欄位類型]方塊中,按一下「有條件的文字」。
在[條件]方塊中,鍵入:Addressbook.addresses.firstname == "Michael"
在[就]方塊中,鍵入「Dear」。
在 [否則] 方塊中,鍵入「Hello」。
按一下[插入]。