Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

[Resolvido] criar vínculo entre o excel e o libreoffice

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Mathmatic
Manda bem
Manda bem
Mensagens: 165
Registrado em: Seg Out 24, 2011 1:50 pm

[Resolvido] criar vínculo entre o excel e o libreoffice

Mensagem por Mathmatic » Dom Set 01, 2019 9:05 pm

Saudações amigos,

venho pedir uma grande ajuda de vocês, pois preciso criar um Vínculo externo com uma planilha do LibreOffice.

já fiz muitas tentativas, mas até o momento na obtive sucesso. Preciso vincular meu arquivo Excel com uma planilha LibreOffice que está em outro diretório, ou seja, preciso buscar para dentro do meu arquivo Excel dados que estão em uma planilha LibreOffice em outro diretório.

depois vou precisar atualizar meus dados (Links) no Excel diariamente, mas isso acredito que as macros de atualização de Links farão o serviço tranquilamente, o problema maior é conseguir criar o Vínculo externo com a planilha LibreOffice.

podem por favor me ajudar... muito obrigado desde já.
Editado pela última vez por Mathmatic em Sex Set 06, 2019 9:12 pm, em um total de 2 vezes.


Mathmatic

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Julio Mangilli
Manda bem
Manda bem
Mensagens: 114
Registrado em: Sex Out 05, 2018 2:42 pm

Re: criar Vínculos entre o Excel e o LibreOffice

Mensagem por Julio Mangilli » Sex Set 06, 2019 11:05 am

Olá amigo se tivesse um modelo para postar eu tento algo, mas entendo a dificuldade, e se mandasse abrir o arquivo jogar um timer rodar as macros e fechar a planilha também não funciona? Ou seria muito trabalho ?



Julio Mangilli
Manda bem
Manda bem
Mensagens: 114
Registrado em: Sex Out 05, 2018 2:42 pm

Re: criar Vínculos entre o Excel e o LibreOffice

Mensagem por Julio Mangilli » Sex Set 06, 2019 11:09 am

Planillha de Busca
Workbooks.Open "Caminho"
Call MACRO


E na Planilha destino...

Dim xTime As String
Dim xWB As Workbook

Private Sub Workbook_Open()
'Updated by Extendoffice 2019/1/20
On Error Resume Next
xTime = Application.InputBox("Favor colocar o tempo de Atualização:", "Mangilli", "00:00:20", , , , , 2)
Set xWB = ActiveWorkbook
If xTime = "" Then Exit Sub
Reset

End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
If xTime = "" Then Exit Sub
Reset
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If xTime = "" Then Exit Sub
Reset
End Sub

Sub Reset()
Static xCloseTime
If xCloseTime <> 0 Then
ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , False
End If
xCloseTime = Now + TimeValue(xTime)
ActiveWorkbook.Application.OnTime xCloseTime, "SaveWork1", , True
End Sub


Uma Ideia.



Mathmatic
Manda bem
Manda bem
Mensagens: 165
Registrado em: Seg Out 24, 2011 1:50 pm

Re: criar Vínculos entre o Excel e o LibreOffice

Mensagem por Mathmatic » Sex Set 06, 2019 4:19 pm

saudações Julio,

obrigado por se preocupar com o meu problema . vou tentar explicar melhor e mais resumido.

tenho que resgatar/recuperar diariamente, para dentro do meu arquivo Base.xls, os dados de um arquivo do libreoffice que está em outro diretório (para então atualizar diariamente no meu arquivo Base.xls os vínculos)

informações do arquivo de busca:
nome do arquivo: libre
extensão: .ods
diretório: "C:\Users\Cati\Documents\teste\"

a princípio, tentei criar Vínculos entre os dois arquivos, mas não funcionou. Foi então que recorri ao fórum para pedir ajuda.

durante minhas pesquisas, também encontrei num fórum francês de libreoffice uma macro VBA que diz criar a possibilidade de vínculos do Excel com os dados do libreoffice, mas não consegui entender a macro e nem colocá-la em prática. o local da macro mencionada é este: Link

vou anexar para você, apenas como exemplo, o meu arquivo Base.xls e o arquivo libre.ods de onde desejo buscar/resgatar os Dados .

Obs: quanto mais automatizado, melhor será para mim .

desde já, muito obrigado pela ajuda.
Anexos
teste.rar
(11.24 KiB) Baixado 17 vezes
Editado pela última vez por Mathmatic em Sex Set 06, 2019 4:56 pm, em um total de 1 vez.


Mathmatic

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Julio Mangilli
Manda bem
Manda bem
Mensagens: 114
Registrado em: Sex Out 05, 2018 2:42 pm

Re: criar Vínculos entre o Excel e o LibreOffice

Mensagem por Julio Mangilli » Sex Set 06, 2019 4:53 pm

Entendi amigo, a extensão realmente é complicada nossa, realmente essa é pros Jedi.
Mas Assim eu posso tentar ajudar um tiquinho quem sabe você molda ao seu favor, converta o arquivo e depois puxa normalmente, vai ter que sempre converter mas acredito que vá ajudar depois que convertido, já era.

Sub SaveODSToXLSX()

Dim StrFilename As String
Dim StrDocName As String
Dim StrPath As String
Dim oWorkbook As Workbook
Dim fDialog As FileDialog
Dim intPos As Integer
MsgBox "Por favor, selecione a pasta que contém os arquivos para conversão", , "C:\Users\User\Desktop\teste"
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.Title = "Selecione a pasta e clique em OK"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewList
If .Show <> -1 Then
MsgBox "Cancelado pelo usuário", , "Listar conteúdo da pasta"
Exit Sub
End If
StrPath = fDialog.SelectedItems.Item(1)
If Right(StrPath, 1) <> "\" Then StrPath = StrPath + "\"
End With
If Left(StrPath, 1) = Chr(34) Then
StrPath = Mid(StrPath, 2, Len(StrPath) - 2)
End If
StrFilename = Dir$(StrPath & "*.ods")
While Len(StrFilename)
Set oWorkbook = Workbooks.Open(StrPath & StrFilename)
StrDocName = ActiveWorkbook.FullName
intPos = InStrRev(StrDocName, ".")
StrFocName = Left(StrDocName, intPos - 1)
StrDocName = StrDocName & ".xlsx"
oWorkbook.SaveAs Filename:=StrDocName, FileFormat:=51
oWorkbook.Close savechanges:=wdDoNotSaveChanges
StrFilename = Dir$()
Wend
MsgBox "Conversão concluída", , "ODS Para XLSX"
Exit Sub
End Sub



Mathmatic
Manda bem
Manda bem
Mensagens: 165
Registrado em: Seg Out 24, 2011 1:50 pm

Re: criar vínculo entre o excel e o libreoffice

Mensagem por Mathmatic » Sex Set 06, 2019 6:06 pm

quando eu seleciono a Pasta, na qual está os arquivos do libreoffice, então ocorre um Erro na seguinte linha do código vba:

Código: Selecionar todos

Set oWorkbook = Workbooks.Open(StrPath & StrFilename)


Mathmatic

Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1248
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: criar vínculo entre o excel e o libreoffice

Mensagem por Reinaldo » Sex Set 06, 2019 8:52 pm

O Excel, nativamente e por motivos óbvios,não lê/abre arquivos .ods; motivo do erro apontado.
A conversão para .xls ou .xlsx deve ser efetuada via o aplicativo Free (Libreoffice / openoffice/broffice).
O link francês informado aponta uma rotina que deve acessar via vba/sql mas aparentemente utiliza bibliotecas do servidor Apache: (CreateObject("com.sun.star.ServiceManager"))
Nas comunidades MSOffice, as que conheço não ha nenhuma referencia e essa "ligação".
Para sentir a rivalidade entre as comunidades, no link postado mandaram o usuario ir procurar ajuda em outro lugar que não iriam responder sobre softer proprietario.
Assim creio que a melhor saida é ter o libreoffice instalado, efetuar a conversão da(s) planilha(s) para formato MSExcel e depois sim utilizar VBA/SQL


Reinaldo
Gostou da resposta?:?: :oops: :D :mrgreen:

Mathmatic
Manda bem
Manda bem
Mensagens: 165
Registrado em: Seg Out 24, 2011 1:50 pm

[Resolvido] criar vínculo entre o excel e o libreoffice

Mensagem por Mathmatic » Sex Set 06, 2019 9:07 pm

olá Reinaldo,

estou há dias buscando respostas em torno deste assunto do meu tópico, foram muitas pesquisas.

sua resposta é a "forte confirmação" de pré-conclusões que eu estava chegando.

muito obrigado, pois você colocou o "telhado na casa". :D

abraços a você e também ao Júlio (que tentou ajudar-me de alguma forma).


Mathmatic

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder