Definição de condições
As condições são expressões lógicas que você pode usar para controlar a exibição de campos e seções no documento. Apesar de os exemplos a seguir se aplicarem a campos, também se aplicam a seções.
Você pode definir condições para os seguintes tipos de campos:
-
Texto condicional: exibe o texto A se a condição for verdadeira ou o texto B se a condição for falsa.
-
Texto oculto: oculta o conteúdo do campo se a condição for verdadeira.
-
Parágrafo oculto: oculta o parágrafo se a condição for verdadeira.
-
Qualquer registro e próximo registro: controla o acesso aos registros do banco de dados.
A maneira mais simples de definir uma condição é digitar a expressão lógica diretamente na caixaCondição utilizando os valores a seguir:
VERDADEIRO |
Sempre satisfaz à condição. Uma alternativa é digitar qualquer valor diferente de 0 como texto condicional. |
FALSO |
Não satisfaz à condição. Também é possível digitar o valor 0. |

Se você deixar a caixa Condição vazia, a condição será interpretada como não satisfeita.
Quando você definir uma condição, use os mesmos elementos para definir uma fórmula, a saber, operadores de comparação, funções matemáticas e estatísticas, formatos de números, variáveis e constantes.
Ao definir uma condição, é possível utilizar os seguintes tipos de variáveis:
-
Variáveis do LibreOffice predefinidas que usam estatísticas sobre as propriedades do documento
-
Variáveis personalizadas, que são criadas com o campo "Definir variável"
-
Variáveis baseadas em dados do usuário
-
Variáveis baseadas no conteúdo dos campos do banco de dados
Não é possível utilizar variáveis internas, tais como números de páginas e de capítulos, na expressão de condições.
Condições e Variáveis
Os exemplos a seguir utilizam uma variável chamada "x":
x == 1 ou x EQ 1 |
A condição será verdadeira se "x" for igual a 1. |
x != 1 ou x NEQ 1 |
A condição será verdadeira se "x" for diferente de 1. |
senx == 0 |
A condição será verdadeira se "x" for um múltiplo de pi. |
Para utilizar operadores de comparação com cadeias de caracteres, os operandos devem estar delimitados por aspas duplas:
x == "ABC" ou x EQ "ABC" |
Verifica se a variável "x" contém (verdadeira) a cadeia de caracteres "ABC" ou não (falsa). |
x == "" ou x EQ "" ou !x ou NOT x |
Verifica se a variável "x" contém uma cadeia de caracteres vazia. |

O operador comparativo "igual" deve ser representado por dois sinais de igual (==) em uma condição. Por exemplo, se definir uma variável "x" com o valor de 1, pode inserir a condição como x==1.
Dados do Usuário
Pode-se incluir os dados do usuário ao definir condições. Para alterar os seus dados de usuário, selecione LibreOffice → PreferênciasFerramentas → Opções… → LibreOffice → Dados do usuário. Os dados do usuário devem ser inseridos como cadeias de caracteres. Pode-se consultar os dados do usuário com "==" (EQ), "!=" (NEQ), or "!"(NOT).
A tabela a seguir apresenta as variáveis dos dados do usuário e seus significados:
Variável |
Significado |
user_firstname |
Nome |
user_lastname |
Sobrenome |
user_initials |
Iniciais |
user_company |
Empresa |
user_street |
Rua |
user_country |
País |
user_zipcode |
CEP |
user_city |
Cidade |
user_title |
Título |
user_position |
Posição |
user_tel_work |
Telefone comercial |
user_tel_home |
Telefone residencial |
user_fax |
Número de fax |
user_email |
|
user_state |
Estado (apenas em algumas versões do LibreOffice) |
Por exemplo, para ocultar um parágrafo, texto ou uma seção de um usuário com as iniciais "LM", insira a seguinte condição: user_initials=="LM".
Condições e Campos do Banco de Dados
É possível definir condições para o acesso de bancos de dados ou de campos de bancos de dados. Por exemplo, você pode verificar o conteúdo de um campo de banco de dados a partir de uma condição ou usar campos de bancos de dados em expressões lógicas. A tabela a seguir lista mais alguns exemplos de utilização de bancos de dados em condições:
Exemplo |
Significado |
Banco de Dados.Tabela.Empresa Banco de Dados.Tabela.Empresa NEQ "" Banco de Dados.Tabela.Empresa != "" |
A condição será verdadeira se o campo COMPANY não estiver vazio. (No primeiro exemplo, não há necessidade de operadores.) |
!Database.Table.Company NOT Database.Table.Company Database.Table.Company EQ "" Database.Table.Company =="" |
Retorna VERDADEIRO se o campo COMPANY for vazio. |
Database.Table.Company !="Sun" Database.Table.Company NEQ "Sun" |
Retorna VERDADEIRO se a entrada atual no campo COMPANY não for "Sun". (O ponto de exclamação representa um NÃO lógico.) |
Database.Table.Firstname AND Database.Table.Name |
Retorna VERDADEIRO se o registro contiver o nome e o sobrenome. |

Note que existe uma diferença entre o NÃO lógico "!" (NOT) e o operador de comparação diferente de "!=" (NEQ).
Ao fazer referência a um campo de banco de dados em uma condição, use a forma Databasename.Tablename.Fieldname. Se um dos nomes contiver um caractere que seja um operador, como um sinal de menos (-), coloque o nome entre colchetes; por exemplo, Databasename.[Table-name].Fieldname. Nunca utilize espaços dentro de nomes de campo.
Exemplo: Ocultar um Campo de Banco de Dados Vazio
Talvez você queira criar uma condição que oculte um campo vazio, por exemplo, se o campo COMPANY estiver vazio em alguns dos registros de dados.
Selecione a entrada da lista Parágrafo oculto e digite a condição a seguir: Addressbook.Addresses.Company EQ ""
ou digite a condição a seguir
NOT Addressbook.Addresses.Company
Se o campo do banco de dados EMPRESA estiver vazio, a condição será verdadeira e o parágrafo será oculto.

Para exibir parágrafos ocultos na tela, selecione LibreOffice - PreferênciasFerramentas - Opções - LibreOffice Writer - Recursos de formatação, e desmarque a caixa Campos: Parágrafos ocultos.
Exemplos de Condições em Campos
Os exemplos a seguir utilizam o campo Texto condicional, embora possam ser aplicados a quaisquer campos que, por sua vez, podem ser vinculados a uma condição. A sintaxe utilizada para condições serve também para os campos Texto oculto, Parágrafo oculto, Qualquer registro e Próximo registro.
Para exibir texto condicional com base no número de páginas:
-
Selecione Inserir - Campo - Outros campos e, em seguida, clique na guia Funções.
-
Na lista Tipo, clique em "Texto Condicional".
-
Na caixa Condição , digite "page == 1".
-
Na caixa Então, digite "Há somente uma página".
-
Na caixa Ou, digite "Há várias páginas".
-
Clique em Inserir e, em seguida, clique em Fechar.
Para exibir texto condicional com base em uma variável definida pelo usuário
-
Selecione Inserir - Campo - Outros campos e, em seguida, clique na guia Variáveis.
-
Na lista Tipo, clique em "Definir Variável".
-
Na caixa Nome, digite "Lucro".
-
Na caixa Valor, digite "5000".
-
Clique em Inserir.
-
Clique na guia Funções e, em seguida, clique em "Texto condicional" na lista Tipo.
-
Na caixa Condição, digite "Lucro < 5000".
-
Na caixa Então, digite "Objetivo não é satisfeito".
-
Na caixa Ou , digite "Objetivo é satisfeito".
-
Clique em Inserir.
Para editar o conteúdo da variável "Lucro", clique duas vezes no campo da variável.
Para exibir texto condicional com base no conteúdo de um campo do banco de dados:
Na primeira parte desse exemplo é inserido um espaço entre os campos "Nome" e "Sobrenome" de um documento e na segunda parte é inserido um texto baseado no conteúdo de um campo. Esse exemplo exige que uma fonte de dados de endereço esteja registrada com o LibreOffice.
-
Selecione Inserir - Campo - Outros campos e, em seguida, clique na guia Banco de dados.
-
Na lista Tipo, clique em "Campos de mala direta".
-
Na caixa Seleção do banco de dados, clique duas vezes em um catálogo de endereços, clique em "Nome" e, em seguida, clique em Inserir. Faça o mesmo para "Sobrenome".
-
No documento, posicione o cursor entre os dois campos, pressione a tecla de espaço e, em seguida, retorne à caixa de diálogo Campos :
-
Clique na guia Funções e, em seguida, clique em "Texto condicional" na lista Tipo.
-
Na caixaCondição , digite: "Addressbook.addresses.firstname"..Nome".
-
Na caixa Então , digite um espaço, e deixe a caixa Ou em branco.
Agora, é possível utilizar uma condição para inserir texto com base no conteúdo do campo Nome.
-
Na caixa de diálogo Campos , clique na guia Funções .
-
Na caixa Tipo , clique em "Texto Condicional".
-
Na caixa Condição , digite: Addressbook.addresses.firstname == "Miguel"
-
Na caixa Então, digite "Caro".
-
Na caixa Senão, digite "Bom dia".
-
Clique em Inserir.