[pt-br-usuarios] Re: Calc: Linhas zebradas (intercalas com 2 cores) de forma automática.
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 = HE0 '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:Z 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
[pt-br-usuarios] Re: Calc: Linhas zebradas (intercalas com 2 cores) de forma automática.
Opa, tem um erro delicado aí na macro, o correto seria: 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[em]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 Dim nRow 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 #FFEFD5 Const nZebra2 = HE0 'LightYellow #E0 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) nRow = oCell.RangeAddress.StartRow If (nRow Mod 2) = 0 Then oCell.setPropertyValue(CellBackColor, nZebra1) Else oCell.setPropertyValue(CellBackColor, nZebra2) EndIf Next Ci Next Li EndIf End Sub Em 25 de março de 2015 11:13, hamacker sirhamac...@gmail.com escreveu: 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 = HE0 '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 é
[pt-br-usuarios] Re: Calc: Linhas zebradas (intercalas com 2 cores) de forma automática.
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:Z 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/