Definir condições
As condições são expressões lógicas que podem ser utilizadas para controlar a apresentação de campos e secções no seu documento. Apesar de os seguintes exemplos se aplicarem a campos, também se aplicam a secções.
É possível definir condições para os seguintes tipos de campos:
-
Texto condicional: apresenta 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 registo e próximo registo: controla o acesso aos registos da base de dados.
A forma mais simples de definir uma condição é escrever a expressão lógica diretamente numa caixa Condição utilizando os seguintes valores:
VERDADEIRO |
A condição verifica-se sempre. É também possível introduzir qualquer valor diferente de 0 como texto condicional. |
FALSO |
A condição não se verifica. Também pode introduzir o valor 0. |

Se deixar a caixa Condição vazia, a condição é interpretada como não tendo sido verificada.
Ao definir uma condição, utilize os mesmos elementos para definir uma fórmula, nomeadamente operadores comparativos, funções matemáticas e de estatística, formatos numéricos, variáveis e constantes.
É possível utilizar os seguintes tipos de variáveis quando se define uma condição:
-
Variáveis pré-definidas do LibreOffice , que utilizam estatísticas nas propriedades do documento
-
Variáveis personalizadas, criadas com o campo "Definir variável"
-
Variáveis baseadas nos dados do utilizador
-
Variáveis baseadas no conteúdo do campos de bases 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ção.
Condições e variáveis
Os seguintes exemplos utilizam uma variável denominada "x":
x == 1 ou x EQ 1 |
A condição é verdadeira se "x" for igual a 1. |
x != 1 ou x NEQ 1 |
A condição é verdadeira se "x" for diferente de 1. |
sinx == 0 |
A condição é verdadeira se "x" for múltiplo de pi. |
Para utilizar operadores comparativos com cadeias, os operandos terão de estar entre aspas:
x == "ABC" ou x EQ "ABC" |
Verifica se a variável "x" contém (true) ou não (false) a cadeia "ABC". |
x == "" ou x EQ "" ou !x ou NÃO x |
Verifica se a variável "x" contém uma cadeia vazia. |

O operador comparativo "igual" terá de ser representado por dois sinais de igual (==) numa condição. Por exemplo, se definir uma variável "x" com o valor de 1, é possível introduzir a condição como x==1.
Dados do utilizador
Pode incluir os dados de utilizador ao definir as condições. Para alterar os dados de utilizador, escolha LibreOffice - PreferênciasFerramentas - Opções - LibreOffice - Dados de utilizador. Os dados de utilizador têm que ser introduzidos na forma de cadeias de texto. Pode consultar os dados de utilizador com "==" (EQ), "!=" (NEQ), ou "!"(NOT).
A seguinte tabela apresenta uma lista de variáveis de dados do utilizador e dos seus significados:
Variável |
Significado |
user_firstname |
Nome |
user_lastname |
Apelido |
user_initials |
Iniciais |
user_company |
Empresa |
user_street |
Rua |
user_country |
País |
user_zipcode |
Código Postal |
user_city |
Localidade |
user_title |
Título |
user_position |
Posição |
user_tel_work |
Número de telefone da empresa |
user_tel_home |
Número de telefone pessoal |
user_fax |
Número de fax |
user_email |
Endereço de e-mail |
user_state |
Estado (apenas em algumas versões do LibreOffice ) |
Por exemplo, para ocultar um parágrafo, um texto ou uma secção de um utilizador com umas iniciais específicas tais como "LM", introduza a condição: user_initials=="LM".
Condições e campos de bases de dados
Pode definir condições para o acesso a bases de dados ou campos de bases de dados. Por exemplo, pode verificar o conteúdo de um campo de base de dados, a partir de uma condição ou utilizar os campos de bases de dados em expressões lógicas. A tabela seguinte enumera mais alguns exemplos em condições:
Exemplo |
Significado |
Database.Table.Company Database.Table.Company NEQ "" Database.Table.Company != "" |
A condição é verdadeira se o campo EMPRESA não estiver vazio. (No primeiro exemplo, não é necessário um operador.) |
!Database.Table.Company NOT Database.Table.Company Database.Table.Company EQ "" Database.Table.Company =="" |
Devolve VERDADEIRO se o campo EMPRESA estiver vazio. |
Database.Table.Company !="Sun" Database.Table.Company NEQ "Sun" |
Devolve VERDADEIRO, se a entrada atual no campo EMPRESA não for "Sun". (O sinal de exclamação representa um NÃO lógico.) |
Database.Table.Firstname AND Database.Table.Name |
Devolve VERDADEIRO se o registo contiver o nome e o apelido. |

Tenha em atenção a diferença entre o NÃO booleano "!" e o operador comparativo diferente "!=" (NEQ).
Quando faz referência a um campo de uma base de dados numa condição, utilize a forma NomeBasededados.NomeTabela.NomeCampo. Se um dos nomes contiver um carácter que está num operador, como, por exemplo, um sinal de subtração (-), inclua o nome em parênteses retos, por exemplo, NomeBasededados.[Nome-Tabela].NomeCampo. Nunca use espaços dentro de nomes de campos.
Exemplo: ocultar um campo vazio da base de dados
Poderá criar uma condição que oculta um campo vazio, por exemplo se o campo EMPRESA estiver vazio para alguns dos registos de dados.
Selecione a entrada de lista Parágrafo oculto e escreva a seguinte condição: Addressbook.Addresses.Company EQ ""
ou escreva o seguinte
NOT Addressbook.Addresses.Company
Se o campo de bases de dados EMPRESA estiver vazio, a condição é verdadeira e o parágrafo é ocultado.

Para mostrar parágrafos ocultos no ecrã, escolha LibreOffice - PreferênciasFerramentas - Opções - LibreOffice Writer - Auxiliares de formatação, e desmarque a caixa de verificação Campos: parágrafos ocultos.
Exemplos de condições em campos
Os exemplos que se seguem utilizam o campo de texto condicional, embora possam ser aplicados a todos os campos associados a uma condição. A sintaxe utilizada para condições é também utilizada para os campos de Texto oculto, Parágrafo oculto, Qualquer registo ou Registo seguinte.
Para mostrar texto condicional baseado no número de páginas:
-
Escolha Inserir - Campo - Mais campos e clique no separador Funções.
-
Na lista Tipo, clique em "Texto condicional".
-
Na caixa Condição , escreva "page == 1".
-
Na caixa Então, escreva "Existe apenas uma página".
-
Na caixa Ou, escreva "Existem várias páginas".
-
Clique em Inserir, e clique em Fechar.
Para mostrar texto condicional baseado numa Variável definida pelo utilizador
-
Escolha Inserir - Campo - Mais campos e clique no separador Variáveis.
-
Na lista Tipo, clique em "Definir variável".
-
Na caixa Nome, escreva "Lucro".
-
Na caixa Valor, escreva "5000".
-
Clique em Inserir.
-
Clique no separador Funções, e clique em "Texto condicional" na lista Tipo.
-
Na caixa Condição, escreva "Lucro < 5000".
-
Na caixa Então, escreva "Objetivo não atingido".
-
Na caixa Ou, escreva "Objetivo atingido".
-
Clique em Inserir.
Para editar o conteúdo da variável "Lucro", clique duas vezes no campo da variável.
Para mostrar texto condicional com base no conteúdo de um campo da base de dados:
A primeira parte deste exemplo insere um espaço entre os campos "Nome" e "Apelido" num documento e a segunda parte insere texto com base no conteúdo de um campo. Este exemplo requer uma origem de dados de endereços registada no LibreOffice.
-
Escolha Inserir - Campo - Mais campos e clique no separador Base de dados.
-
Na lista Tipo, clique em "Campos de impressão em série".
-
Na caixa Seleção de base de dados, clique duas vezes num livro de endereços, clique em Nome e, em seguida, em Inserir. Repita a operação para "Apelido".
-
No documento, coloque o cursor entre os dois campos, prima a tecla de espaços, e regresse à caixa de diálogo Campos :
-
Clique no separador Funções e, em seguida, clique em "Texto condicional", na lista Tipo.
-
Na caixa Condição , escreva: "Addressbook.addresses.firstname".
-
Na caixa Então , introduza um espaço e deixe a caixaOu em branco.
Pode utilizar uma condição para inserir texto baseado no conteúdo do campo Primeiro nome.
-
Na caixa de diálogo Campos , clique no separador Funções.
-
Na caixa Tipo , clique em "Texto condicional".
-
Na caixa Condição escreva: Addressbook.addresses.firstname == "Miguel"
-
Na caixa Então escreva "Estimado(a)".
-
Na caixa Senão, escreva "Olá".
-
Clique em Inserir.