Fai la tua domanda

sp24horas's profile - attività

2016-09-29 20:02:39 +0200 ha risposto a una domanda ODB multiusuário

Olá! Continuando esta resposta:

Veja: o tutorial da revista foi desenvolvido em uma rede com ambiente Windows.

Se a sua dificuldade é apenas instalar o HSQLDB, neste link há um tutorial (assim como outros no Google) : https://erinaldosn.files.wordpress.co...

Novamente: o Base do LibreOffice não foi feito para rodar em rede.

O que se propõe no tutorial é uma nova funcionalidade que requer conhecimento técnico de administração de redes.

Não é algo trivial e simples. Leva um bom tempo de estudo, com acertos e erros no caminho.

Infelizmente, caso não domine a solução proposta, pensaria seriamente em outras alternativas.


Prezado OldWinUser, insisto: Você tentou reproduzir o modelo proposto em ambiente Windows ?

O seu arquivo .odb não funcionará em rede adequadamente, se for simplesmente copiado em uma pasta compartilhada.

Ele não será editável.

Não se engane, você deve usar o hsqldb, em modo servidor, como explicado.

Outra alternativa, que talvez lhe seja válida, é usar um outro banco de dados como servidor e usar o Base como um front-end. Em outras palavras, como meio de acesso visual aos dados armazenados no SQLlite, MySQL, MariaDB, PostgreSQL, Firebird, Interbase, etc.

Pode ser mais adequado para você, pesquise sobre isso.

Por essa perspectiva, um site interessante é http://sheepdogguides.com/srv/s0MySql...

Boa sorte!

Relate quais os erros que você encontrou, por gentileza, assim também está ajudando mais pessoas. Sobre o erro na inserção ou alteração de registros, certifique-se que a tabela já possui uma chave primária. É uma exigência do Base. Sem isso, a tabela não pode ser alterada.

Caso você utilize outro tipo de ambiente, estude o artigo da revista como um modelo de uso e faça as adaptações necessárias. Imagino que muitas alterações terão de serem feitas no modelo proposto em um sistema como o Linux, por exemplo. Mas, é possível fazer. Exemplo: Adaptações que se referem a caminhos - links , que no Windows usam \ e no Linux devem ser trocadas por / .

Portanto, depois de realizado, proponho que tu compartilhes sua experiência de sucesso para que mais pessoas tenham o caminho abreviado e, de quebra ,enriqueça a divulgação do LibreOffice Base.

2016-09-29 19:58:52 +0200 ha commentato una domanda ODB multiusuário

Olá! Posso tentar ajudar.

Realmente o texto é complexo e não muito didático. Mas, você poderia esclarecer melhor a sua dificuldade? Você já possui conhecimento de redes, banco de dados? Qual a sua necessidade de usar o Base deste modo, por exemplo? A intenção é da comunicação fluir melhor, pois o texto e o linguajar usado no artigo direcionam para quem já tem mais facilidade em lidar com redes de computadores. Fique à vontade para continuar se ainda for necessário.

2016-09-29 19:43:09 +0200 ha risposto a una domanda Qual o motivo desta ocorrência...

Olá! Com o devido respeito aos demais, não há nada de errado ao meu ver. Trata-se de um número em ponto flutuante. E deste modo, pode ser representado com maior ou menor precisão. Confirmei que o procedimento computacional está correto, e se você diminuir o tamanho da coluna, você terá o valor 35529 . Todo programador deve ser cuidadoso ao trabalhar com números decimais.

Veja o exemplo da Wikipedia: o valor decimal para 1/3 é igual a: 0,3 . Ou ainda: 0,33. Ou melhor: 0,333.

No caso do códigos de barras, talvez seja melhor representá-lo como se fosse uma string (texto), e assim trabalhar pedaços do código usando as funções de texto. Depois, se for necessário trabalhar em formato de número inteiro, fazer as conversões (casting). O resultado será mais confiável.

Observe, na imagem abaixo, que outro software de planilha trabalha também do mesmo modo:

Descrição da imagem

2016-09-10 18:44:16 +0200 ha risposto a una domanda Calc file: Images disappear

Olá! Experimente criar uma cópia em formato ODT ( .ODS no caso do Calc) Procure usar o CALC trabalhando apenas no formato .ODS e veja se o problema continua.

2016-09-10 18:36:40 +0200 ha risposto a una domanda Macro para abrir outro documento

Olá! Tente esta macro para abrir outro documento Writer.

Sub CriaNovoDoc()
Dim tipo As String
Dim oArg()
Dim oDoc As Object

    tipo = "private:factory/swriter"
    oDoc = StarDesktop.loadComponentFromURL( tipo, "_default", 0, oArg() )

End Sub

**Agora, se a intenção é abrir um formulário no Base, veja abaixo.

Obs: verifique a conexão ao BD e se está aberta. Neste exemplo a conexão já foi estabelecida previamente em outro procedimento.** Boa sorte!

REM BASIC
function OpenForm1( formContainer as variant, oConnection as variant, sFormName as string) as variant
Dim aProp(1) As New com.sun.star.beans.PropertyValue
aProp(0).Name = "ActiveConnection"
aProp(0).Value = oConnection
aProp(1).Name = "OpenMode"
aProp(1).Value = "open"
OpenForm1 = formContainer.loadComponentFromURL(sFormName,"_blank",0,aProp())
end function

function getFormsTC() as variant
getFormsTC = thisComponent.Parent.getFormDocuments
end function

function getConnectionTC() as variant
getConnectionTC = thisComponent.Drawpage.Forms(0).ActiveConnection
end function

' ------------------------------------------
' IMPORTANTE - ABRIR FORM VISITAS
' ------------------------------------------

sub OpenForm_FVisitas( oev as variant )
sFormName = "FVisitas"
OpenForm1( getFormsTC, getConnectionTC, sFormName )
end sub
2016-08-30 03:26:06 +0200 ha risposto a una domanda Como executar uma macro no calc ao selecionar em uma célula?

EDITADO:NOVA RESPOSTA

Envio novo exemplo de UNO LISTENER (serve para capturar eventos no LibreOffice ).

A resposta anterior era baseada no uso de Listener verificando se o conteúdo da célula foi alterado.

Neste novo exemplo, ele só age quando o usuário clica na célula selecionada com o mouse.

Quando você usa o evento da planilha - seleção alterada, ele entende que uma tabulação ou simples deslocamento com a setinha para a célula já basta para efetuar a macro associada, o que pode ser correto ou não, dependendo do que se quer.

É mais uma alternativa de resolução, penso que correta, porém bastante complexa.

Espero que sirva de estudo para quem pensa em usar UNO Listener em uma macro seja para célula modificada, ou só selecionada no Calc .

Olá! Você deve fazer uso do UNO Listener. Associe ao evento correto em Ferramentas/Personalizar da sua planilha. Tente executar o código da figura. Boa sorte! Por exemplo: Descrição da imagem

Novo código: Descrição da imagem

2016-08-25 18:59:10 +0200 ha risposto a una domanda Quadrado negro no início do libreoffice

Olá! Acrescente em propriedades do seu atalho, ou no final da sua chamada ao programa (Writer, Calc, etc.) o parâmetro: -nologo

Exemplo: "C:\Program Files (x86)\LibreOffice 5\program\swriter.exe" -nologo

Não resolve, mas você também pode: alterar o arquivo bmp do logo do LibreOffice para conter algo do tamanho de 1 pixel. Boa sorte!

Por gentileza, se estiver de acordo, marque a resposta como atendida.

2016-08-25 16:57:03 +0200 ha risposto a una domanda Valor null (ou nihil) para campos formato hora

Olá! Uma sugestão quebra-galho é criar uma segunda planilha(Planilha2). Lá você copia com Ctrl+Shift+Enter a fórmula abaixo. Depois pode descartar a Planilha1.

= IF (ISBLANK (Planilha1.A2: C100); "null"; Planilha1.A2: C100)

2016-08-25 15:58:12 +0200 ha risposto a una domanda Formatação condicional - inserir texto na célula

Olá! Veja um exemplo de como usar essa função SE e outras, no ótimo LibreOffice para Leigos. Há versão em PDF e também outra versão Avançada. libreoffice para leigos

2016-08-25 15:37:09 +0200 received badge  Entusiasta
2016-08-24 23:46:34 +0200 ha risposto a una domanda desabilitar aviso

Olá! Vá no menu em Ferramentas, Opções, Carregar/Salvar e desmarque: Avisar quando não for salvar em formato ODF ou padrão Você não deve mais receber uma mensagem de alerta quando salvar um documento em um formato que não seja OpenDocument. Você também pode alterar a caixa Salvar sempre como associando ao Tipo de documento. Outra possibilidade é estudar o código abaixo que salva o arquivo com o nome descrito na célula F3. Atente que há diferença nos métodos storeToURL ou storeAsURL. Boa sorte!

REM  *****  BASIC  *****

Sub SaveAs

   Dim sFileName As String
   Dim sPath As String
   Dim sSaveToURL as string


   sPath = "D:\"
   sFileName = thisComponent.getSheets.getByName("Planilha1").getCellRangeByName("F3").getString
   sSaveToURL = ConvertToURL(sPath & sFileName)
   thisComponent.storeToUrl(sSaveToURL, Array(MakePropertyValue("FilterName", "Calc8")))

End Sub

Function MakePropertyValue(Optional sName As String, Optional sValue) As com.sun.star.beans.PropertyValue
'-------------------------------------------------------------------
' Create and return a new com.sun.star.beans.PropertyValue
'-------------------------------------------------------------------

Dim oPropertyValue As New com.sun.star.beans.PropertyValue


If Not IsMissing(sName) Then
   oPropertyValue.Name = sName
EndIf

If Not IsMissing(sValue) Then
   oPropertyValue.Value = sValue
EndIf

MakePropertyValue() = oPropertyValue

End Function

2016-08-24 21:52:05 +0200 ha risposto a una domanda Falha ao converter arquivo com lowriter

Olá! Tente o comando abaixo. Para mim funcionou no Windows.

soffice --headless --convert-to jpg:draw_jpg_Export arquivo.pdf figura.jpg

Boa sorte!

2016-08-23 23:22:27 +0200 ha commentato una domanda Falha ao converter arquivo com lowriter

Olá! Tente usar o filtro específico com a opção --headless e --infilter. Exemplo: infilter="draw_jpg_Export". Os filtros você acha no link abaixo. Veja se também se é possível importar /exportar o formato. https://wiki.openoffice.org/wiki/Fram...

2016-08-23 22:03:58 +0200 ha risposto a una domanda Colunas e páginas Writer

Olá! Sim, é possível. Você deve fazer uso de seções no seu documento. Veja: Utilizar seções

Seções e colunas É possível inserir seções em uma seção existente. Por exemplo, você pode inserir uma seção contendo duas colunas em outra que contém uma coluna.

Um layout de seção, por exemplo número de colunas, têm prioridade sobre o layout de página definido em um estilo de página.

Dê uma olhada sobre esse assunto.

2016-08-15 16:19:05 +0200 ha risposto a una domanda Aumentar Caché de identificação de Nomes Repetidos

Olá! Não há como. Você deve buscar outro tipo de solução, a não ser que recompile o código-fonte. O LibreOffice está programado deste jeito, conforme : Autoentrada 'Ativa ou desativa o Preenchimento automático, que preenche automaticamente as entradas com base noutras entradas da mesma coluna. A coluna é analisada até um máximo de 2000 células ou 200 cadeias diferentes.' Caso tenha ajudado, por gentileza, marcar como respondido.

2016-08-09 22:31:38 +0200 ha risposto a una domanda Concatenação...

Código Basic:

REM  *****  BASIC  *****

Sub NegritarEmCelulasConcatenadas
' ... comentários
Dim i As Integer
Dim ignorar As Integer
Dim Doc As Object
Dim Sheet As Object
Dim oCell As Object
Dim oCellBold As Object
Dim oCellString As String
Dim oCellBString As String

' vou usar a planilha aberta
Doc = ThisComponent

' abaixo poderia usar Sheet = Doc.Sheets.getByName("Planilha1")
' oCell = Sheet.getCellRangeByName("A3")

oCell = Doc.getSheets().getByIndex(0).getCellRangeByName("A3")
oCellBold =  Doc.getSheets().getByIndex(0).getCellRangeByName("B1")

'coloco os conteúdos de tipo String nas variáveis 
ocellString = oCell.String
ocellBString = oCellBold.String

'crio um cursor
oCursor = oCell.createTextCursor
oCursor.gotoStart(false)

'localizo a posição da palavra B1 (porexemplo=”amor”) na célula A3 e ponho em oString
oString = InStr(1, oCellString, oCellBString)

'se achei, o valor é maior que zero e movimento o cursor na string
If oString > 0 then
ignorar = oString - 1
oCursor.goRight(ignorar,false)
oCursor.goRight(0,false)

'sombreio apenas a palavra escolhida de acordo com seu tamanho
for i = 1 to Len(oCellBString)
       oCursor.goRight(1,true)
Next i

'altero a fonte do texto, aplico a constante ITÁLICO e NEGRITO na propriedade do Cursor
oCursor.CharFontName = "Times New Roman"                      ' nome da fonte
oCursor.CharPosture = com.sun.star.awt.FontSlant.ITALIC    ' itálico
oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD   ' negrito
oCursor.goRight(0,false)
End if

End Sub
2016-08-06 19:18:09 +0200 ha commentato una domanda MACRO - DADOS REPETIDOS

Não seria conveniente no seu caso usar ou integrar um banco de dados BASE como fonte de dados? Às vezes, é melhor usar o que já existe de pronto em um produto. No caso de um banco de dados, a pesquisa de um registro já existente é bastante simples, pois foi projetado para esse tipo de operação. O caminho das macros do LibreOffice é difícil, mesmo para quem tem familiaridade com programação. E construir um programa pode demorar muito tempo até se conseguir trazer o resultado esperado.

2016-08-04 22:26:43 +0200 received badge  Sostenitore (source)
2016-08-04 21:58:16 +0200 ha risposto a una domanda recuperação documento não salvo

Olá! Talvez haja um arquivo temporário perdido. Veja se está marcada a opção de salvar informações de autorrecuperação a cada minutos, sempre criar cópia de backup, conforme Menu Ferramentas, Opções, Carregar/Salvar, Geral.

Procure algo nas pastas indicadas nos caminhos do LibreOffice (arquivos temporários, backups). Isso você vê em Menu Ferramentas, Opções, LibreOffice, Caminhos. Boa sorte!

2016-07-30 01:10:16 +0200 ha risposto a una domanda Como ocultar números de página nas primeiras páginas no Writer

Tem um vídeo do@Beto no youtube que explica isso, usando estilos: Youtube

Na geração de índice fica indicando como página 3. Para quem quiser desconsiderar as páginas de rosto é só clicar em editar a página de rosto novamente e marcar "reiniciar a numeração após as páginas de rosto". ...... e então pode retirar o deslocamento -2 que havia sido colocado antes na numeração

2016-07-30 00:52:55 +0200 ha risposto a una domanda macro que salva planilha

Olá! Segue um exemplo para salvar como planilha. Adapte o seu código para salvar como um arquivo texto.

`REM  *****  BASIC  *****
'cria planilha com nome na célula A1
Sub Main
Dim Doc As Object
Dim Sheet As Object
Dim i as Integer
Dim nome as String
Doc = ThisComponent
Sheet = Doc.Sheets(0)
nome = Sheet.GetCellByPosition(0,0).string
'O exemplo acima referencia a primeira célula A1.
'Se fosse para gerar 5 planilhas semelhantes
'for i = 1 to 5
'nome = "Planilha"&i
If Doc.Sheets.hasByName(nome) Then
Sheet = Doc.Sheets.getByName(nome)
else
Sheet = Doc.createInstance("com.sun.star.sheet.Spreadsheet")
Doc.Sheets.insertByName(nome, Sheet)
End If
'Next
End Sub`
2016-07-28 22:23:28 +0200 ha risposto a una domanda É possível inserir uma fórmula pela posição ?

Olá! Se entendi bem o que você quer, tu podes copiar a fórmula da Planilha 1 e colar especial na célula K2 em uma planilha4, por exemplo. Simples crtl+c, crtl+shift+v, marcando a fórmula resolve. Quanto ao resultado das médias, na célula B2 da nova planilha, coloque outra função média, tipo =MÉDIA(Planilha1.K2;Planilha2.K2,Planilha3.K2) . Acho é isso. Se estiver correto, por gentileza, marque como respondido e vote.

2016-07-28 16:59:15 +0200 ha risposto a una domanda codificar macro manualmente

Olá! Uma boa referência está aqui: Macros - documentfoundation.

2016-07-26 22:40:40 +0200 ha commentato una domanda Como criar uma macro que copia uma tabela em outro BD?

Olá! Não entendi bem, mas acho que você já deu a resposta. Porque não gerar uma consulta SQL que copia a tabela de um banco no outro? Basta montar e executar essa consulta no próprio BD.

2016-07-26 19:27:19 +0200 ha risposto a una domanda Macro - Não selecionar células protegidas

Olá! Acho que você não precisa de uma macro. Veja que na versão 5.0.5.2 (Windows), no menu Ferramentas,Proteger documento, Planilha,há opção para permitir a todos os usuários desta planilha: Selecionar células protegidas e ou/ Selecionar células desprotegidas.

Por gentileza, vote como correta a resposta e marque a pergunta como resolvida, se estiver de acordo com esta solução.

2016-07-26 04:32:46 +0200 ha risposto a una domanda Como importar dados de uma planilha Scalc para o Delphi?

Sugestão: exportar os dados da PLANILHA como CSV em um diretório (pasta) temporário. E a partir disso, abrir esse arquivo texto e tratar pelo Delphi ou outra linguagem.

2016-07-25 22:23:31 +0200 ha risposto a una domanda É possível criar um combobox ou listbox com divisor de colunas?

É possível fazer um novo formulário interno (subformulário) com um objeto tabela e adaptar às suas necessidades.

Caso queira fazer uso de um listBox, edite cada linha da lista de valores com separador vertical (|) para simular o divisor de colunas. Tecle Shift+Enter ao final da edição para inserir uma nova linha.

Não sei como adicionar a linha horizontal, mas o resultado final talvez seja aceitável.

Exemplo:

Palio | Fiat shif+enter

Gol | Volkswagen shif+enter

Corsa | Chevrolet GM

2016-07-25 22:05:48 +0200 ha risposto a una domanda Relatório do Base Trava

Tente fazer alterações na inicialização e configurações relacionadas ao JAVA. O Base usa JAVA. Sugestão: Menu Ferramentas, LibreOffice, Avançado, Parâmetros. Em Parâmetro de lançamento do Java atribua:-Xms512m e depois atribua -Xmx512m, para ficar em duas linhas os parâmetros atribuídos.(irá atribuir o uso de 500 Mega de RAM). Faça novo teste e aumente ou diminua o valor em frações de 256 de acordo com sua memória física.

2016-07-25 19:59:46 +0200 ha risposto a una domanda Como criar magro que copia texto digitado no Writer

Veja neste link:Exemplo PyUNO o código capitalise.py e adapte para o que você quer.

2016-07-25 16:09:13 +0200 ha risposto a una domanda porque alguns macros não funcionam em uma versão atualizada

Olá! Faça antes um backup e depois apague a pasta user. Para os usuários do Windows:%appdata%\libreoffice\4\user (LibreOffice 4) Para usuários de GNU/Linux:/home/<user name="">/.config/libreoffice/4/user (LibreOffice 4) Estas pastas são ocultas, você deverá ativar a opção de visualizar pastas ocultas de seu sistema operacional para poder vê-las. Esta resposta e mais detalhes sobre perfil do usuário: https://wiki.documentfoundation.org/U...</user>

2016-07-25 01:15:42 +0200 ha risposto a una domanda Tem como recuperar dados apagados pelo libre?

Olá! Eu tentaria pesquisar na área de arquivos temporários se há alguma cópia de arquivo antigo. Se não tivesse sucesso, um software de recuperação de arquivos apagados. Não há como recuperar o conteúdo de um arquivo alterado e gravado se o computador continuou sendo usado e foi desligado. Para o futuro: não há solução melhor que manter uma boa rotina de backup em outras mídias para evitar problemas semelhantes.

2016-07-25 01:05:25 +0200 ha risposto a una domanda Limite de caracteres por células

O comprimento limite de codificação da fórmula em uma célula é de 1300 caracteres. O comprimento limite de texto em uma célula é de 65535 caracteres. O número limite de linhas é de 1 milhão por planilha. O número limite de colunas é de 1024 por planilha.

2016-07-25 00:33:27 +0200 received badge  Revisore (source)
2016-07-25 00:31:11 +0200 ha risposto a una domanda desabilitar aviso

Olá! Experimente alterar em Menu Ferramentas, Opções Carregar/Salvar, a opção de aviso sobre salvar em formato diferente do padrão ODF ou padrão. Você pode tentar também alterar o tipo de documento nessa tela. Outra possibilidade é alterar a codificação em sua macro. Se possível tente evitar o caminho automático de gerar uma macro pelo modo experimental e escreva seu código. Como o modo de gravação de macro faz uso de dispatcher, ele acaba simulando o uso de ações acionadas por teclado e mouse. Lembro que eu já passei por situação semelhante e a solução foi codificar manualmente a macro. No seu caso para tentar desse modo, faça uso do método storeAsURL, interface XStorable.(salvar como)

2016-07-23 05:19:50 +0200 ha risposto a una domanda executar uma macro ao acessar uma planilha

Olá! Acho que você pode associar a sua macro com um evento da sua planilha. Veja se te ajuda: menu Editar,Planilha, eventos. Associe sua macro com o evento ao ativar o documento.

2016-07-23 05:05:25 +0200 ha commentato una domanda Concatenação...

Olá! copiei o código abaixo que está em detalhes na revista (pdf) LibreOffice Magazine 23 de agosto de 2016. Conteúdos da LibreOffice Magazine