Mudanças entre as edições de "BrOffice"
Linha 44: | Linha 44: | ||
Digite "Reler" como nome da macro, e clique em "Novo" | Digite "Reler" como nome da macro, e clique em "Novo" | ||
Figura 2 | Figura 2 | ||
+ | |||
+ | Na tela de edição da macro: | ||
Adicione o código da macro conforme o sistema operacional: | Adicione o código da macro conforme o sistema operacional: | ||
− | Reler- | + | |
− | Reler- | + | Windows: |
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | Linux: | ||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
Edição das 18h42min de 14 de maio de 2010
CALC - Vínculos em Arquivos Compartilhados (Linux e Windows)
CALC - Vínculos - Preparando ambiente
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.
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.
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, crir 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