Fiz do jeito mais difícil, peguei um exemplo básico de macro que contava linhas pares e ímpares e com a ajuda do google descobri funções de formatação, dai consegui fazer o que já fazia com uso de estilos que você descreveu. Minha frustração é que não consigo criar um botão/atalho para executar essa macro. Para executá-la é um esforço heroico de Ferramentas->Macro->Executar->Arvore1->SubArvore2->SubArvore3 e selecionar a macro e então executar. Fico pensando se o time do LibreOffice sabe o quão complicado é usar macros no editor. Além disso, enquanto aprendia a criar a macro, erros na macro (erro de programador principiante) travaram o LibreOffice inteirinho.
Ah também não dá para fazer uma janela de dialogo para selecionar uma cor, senão teria colocado no script. Minhas duas frustrações com o uso de macro. Vou tentar abrir um ticket e ver se eles poderiam incluir um modo de visão assim, que apresentasse a janela em modo zebrado e grifando o eixo X e Y onde o cursor estiver posicionado, pois isso ajuda bastante a focar. REM ***** LIBREOFFICE BASIC ***** REM O objetivo dessa função é aplicar cor par/impar para REM cada linha da tabela. O intuito é evitar enganos por seguir REM um valor numa determinada linha e pêrde-la de vista. REM O funcionamento é simples, apenas selecione a área que REM deseja zebrar e aplique essa macro. REM Ajuste as variaveis nZebra1 e nZebra2 REM Autor: Gladiston Hamacker Santana <sirhamacker[@]gmail.com> Sub ZebrarTabela Dim oCurrentSelection As Variant Dim oRows As Variant Dim oCols As Variant Dim oCell As Variant Dim Li As Long Dim Ci As Long ' Uma boa idéia de cores que podem ser usadas, podem ser encontradas nos sites: ' http://www.htmlgoodies.com/tutorials/colors/article.php/3478961 ' http://erikasarti.net/html/tabela-cores/ ' http://domingoscsouza.com.br/blog/front-end/tabela-de-cores-html ' Valores em hexa devem ser precedidos por &H Const nZebra1 = &HFFEFD5 'PapayaWhip Const nZebra2 = &HFFFFE0 'LightYellow oCurrentSelection = ThisComponent.getCurrentSelection() If oCurrentSelection.supportsService("com.sun.star.table.CellRange") Then oRows = oCurrentSelection.getRows() oCols = oCurrentSelection.getColumns() For Li = 0 To oRows.getCount()-1 For Ci = 0 To oCols.getCount()-1 oCell = oCurrentSelection.getCellByPosition(Ci, Li) If (Li Mod 2) = 0 Then oCell.setPropertyValue("CellBackColor", nZebra1) Else oCell.setPropertyValue("CellBackColor", nZebra2) EndIf Next Ci Next Li EndIf End Sub Em 24 de março de 2015 18:35, João Mac-Cormick <joao.corm...@gmail.com> escreveu: > Neste caso, eu costumo fazer o seguinte, para ter o efeito "zebrado": > > 1) Criar um estilo > "Formatar--> Estilos e Formatação" > Com o botão direito do mouse, clique no estilo "Padrão" e selecione "Novo…" > Na aba "Organizador", na caixa Nome, digite "cinza" > Na aba "Plano de fundo", clique na cor "cinza 3" > Salve este estilo de célula. > > 2) Criar uma formatação condicional > Formatar--> Formatação condicional--> Gerenciar… > Clique no botão "Adicionar" > Na "Condição 1" > Selecione a opção "A fórmula é" > Digite a fórmula ÉÍMPAR(LINHA()) > Selecione o estilo criado anteriormente em "Aplicar estilo" > Lá embaixo, na caixa "Intervalo:", digite o tamanho que sua planilha > poderá ter, por exemplo "A1:Z9999" > Clique no botão "OK" > Clique no botão "OK", novamente > > E se a planilha aumentar? Basta modificar apenas o intervalo. > > Fiz estes passos aqui na versão 4.4.1, e funcionou. > > Mas acho que você já fez isso também, certo? > > Saudações solidárias, > > João > > Em 24 de março de 2015 17:50, hamacker <sirhamac...@gmail.com> escreveu: > >> Sim, isso é o básico. >> A intenção é apenas ver zebrado, não necessariamente formatar as linhas. >> Como eu havia dito, não quero deixar a tabela mais bonita, apenas evitar >> confusão quando estiver perseguindo dados com os olhos. >> >> Em 24 de março de 2015 17:45, João Mac-Cormick <joao.corm...@gmail.com> >> escreveu: >> >>> Você já usou a opção "Janela--> Congelar"? Dependendo das colunas >>> iniciais da planilha, ajuda bastante. >>> >>> Em 24 de março de 2015 17:22, hamacker <sirhamac...@gmail.com> escreveu: >>> >>>> Alguém aí sabe como fazer o Calc exibir linhas em cores diferentes ou >>>> zebradas. >>>> Não quero uma célula em cor diferente, pois assim apenas usaria a >>>> formatação condicional. >>>> Mas gostaria que as linhas fossem intercaladas em cores diferentes para >>>> melhorar a exibição e evitar equívocos de olhar para uma célula e quando >>>> deslocar o olho para a direita então pular a linha e apontar valores >>>> errados. >>>> >>>> Hoje estou usando estilos, cada linha aplico um estilo, mas é bobagem >>>> porque de fato o objetivo não é deixar a planilha mais bonita, mas >>>> evitar >>>> equívocos ao seguir uma linha. >>>> >>>> Estava tentando isso com formatação condicional, mas não consegui, >>>> aparentemente o estilo só pode ser aplicado a célula e não uma linha >>>> inteira. >>>> >>>> Se alguém tiver alguma dica, por favor, compartilhe. >>>> >>>> -- >>>> Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org >>>> # Informações sobre os comandos disponíveis (em inglês): >>>> mande e-mail vazio para usuarios+unsubscr...@pt-br.libreoffice.org >>>> # Cancelar sua assinatura: mande e-mail vazio para: >>>> usuarios+unsubscr...@pt-br.libreoffice.org >>>> # Arquivo de mensagens: >>>> http://listarchives.libreoffice.org/pt-br/usuarios/ >>>> >>> >>> >> > -- Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org # Informações sobre os comandos disponíveis (em inglês): mande e-mail vazio para usuarios+unsubscr...@pt-br.libreoffice.org # Cancelar sua assinatura: mande e-mail vazio para: usuarios+unsubscr...@pt-br.libreoffice.org # Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/