Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
fbio_bilicki
Active Contributor


Bom dia,

Agradeço a grande ajuda do post do charles.jenkins, sem ele não teria conseguido usar o LibreOffice com o SAP B1.

Este documento explica passo a passo para inserir o código em Visual Basic explicado no post AutoOpen.xls and LibreOffice or OpenOffice criado pelo autor acima.

É necessário fazer as alterações utilizando Excel (utilizei o Excel 2013 para explicar a alteração do arquivo).

 

1) Ativando aba Desenvolvedor.

 

- Abra o Excel.

- Clique em Arquivo.

- Clique em Opções.

- Clique em Personalizar Faixa de Opções.

- Em Personalizar Faixa de Opções e em Guias Principais, marque a caixa de seleção Developer.

http://office.microsoft.com/pt-br/excel-help/mostrar-a-guia-desenvolvedor-HA101819080.aspx

 



 

Será ativada uma aba chamada Desenvolvedor.



2) Alterando o AutoOpen.XLS

- Abra o arquivo AutoOpen.XLS no Excel

- Pressione a aba Desenvolvedor, Exibir Código



- Clique duas vezes no Module2, será apresentado o código em Visual Basic que faz a abertura do arquivo texto exportado pelo SAP.


 

Rotina Original.




- Substitua o código fonte inteiro pelo código abaixo, podemos ver que foi criada uma nova sub-rotina para abertura do LibreOffice

Public Sub OpenExlFile(ExcelPath As String)
Attempt1:
On Error GoTo Fail1

' Assume we're running Microsoft Excel

' Inicio: Rotina original
Workbooks.OpenText FileName:=ExcelPath, _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Local:=True
Workbooks.Application.Columns.AutoFit
' Fim: Rotina Original

Exit Sub

Fail1:
Resume Attempt2
Attempt2:
On Error GoTo Fail2

' Perhaps we're running LibreOffice or OpenOffice

StarOpenTsvFile (ExcelPath)
Fail2:
Exit Sub

End Sub
Public Sub StarOpenTsvFile(tsvPath As String)
Dim starDesktop As Object
Dim url As String
Dim doc As Object
Dim parms(1) As New com.sun.star.beans.PropertyValue
parms(0).Name = "FilterName"
parms(0).Value = "Text - txt - csv (StarCalc)" ' Name is incorrect, but required
parms(1).Name = "FilterOptions"
parms(1).Value = "9,,65535,1" ' Tab seps, no string delim, UTF-16 charset, begin at line 1
starDesktop = createUnoService("com.sun.star.frame.Desktop")
url = ConvertToUrl(tsvPath)
doc = starDesktop.loadComponentFromURL(url, "_blank", 0, parms)
End Sub

Qualquer dúvida abra os arquivos anexados a este documento, salvei a imagem do antes e depois, além de um arquivo texto com a subrotina criada pelo Charles.

Estou usando atualmente o LibreOffice 4.3

Espero ter ajudado,

Um grande abraço,

Fabio.

3 Comments
Labels in this area