BrOffice

Revisão de 18h43min de 14 de maio de 2010 por GVerzeletti (discussão | contribs)

CALC - Vínculos em Arquivos Compartilhados (Linux e Windows)

CALC - Vínculos - Preparando ambiente

Objetivo:

Este artigo tem por principal objetivo fornecer informações técnicas de implementação e utilização deste recurso 
em documentos que serão acessados por diversos usuários em rede através dos sistemas operacionais linux e windows.


Considerações iniciais:

- A função de vínculos do CALC funciona com todas as suas variações quando os arquivos vinculados à um 
documento matriz estão localizados todos localmente e a edição ocorre somente em uma mesma estação.
  
- Quando é necessário o acesso em rede à este documento matriz, alguns padrões precisam ser seguidos para
 que não ocorra quebra de vínculos.

- A função DDE não funciona entre os ambientes linux e windows, devido a forma como cada um trata esta função.


Implementação:

  • 1) Colocar todos os documentos (matriz e vínculos) em um diretório de rede, preferencialmente no servidor de arquivos.
  • 2) Nas estações windows mapear esta pasta de rede na unidade "V:".
  • 3) Nas estações linux criar um diretório "V:" com permissão 777 no diretório raiz (/).
  • 4) Ainda nas estações linux acrescentar no arquivo "/etc/security/pam_mount.conf.xml" as informações para montar a pasta de rede no diretório "/V:"
  • 5) Configurar os vinculos no BrOffice da seguinte forma:
1 - Abra o documento matriz, escolha a célula que receberá o vinculo e clique em = (igual)
2 - Abra o documento que será usado para fornecer os valores, selecione a célula e pressione ENTER.
  • 6) Para atualizar os vinculos automaticamente, uma alternativa é criar uma macro:

Acesse o menu Ferramentas -> Macros -> Organizar Macros -> BrOffice.org Basic... Figura 2

Digite "Reler" como nome da macro, e clique em "Novo" Figura 2

Na tela de edição da macro:

Adicione o código da macro conforme o sistema operacional:

Windows:

sub Reler
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Reload", "", 0, Array())


end sub

Linux:

sub Reler
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Reload", "", 0, Array())

rem ----------------------------------------------------------------------
rem dispatcher.executeDispatch(document, ".uno:UpdateTableLinks", "", 0, Array())


end sub