Prezado Olivier,
Obrigado pela sua atenção. Verifiquei o módulo da macro e está com o
início que você mencionou. O interessante é que, na fórmula que utiliza
a macro, aparece em minúscula, enquanto que na macro está em letras
maiúsculas. Por essa razão aparece, na célula, o erro #NOME?. Quando
altero as letras para maiúsculas, a macro funciona. No entanto, ao
fechar e reabrir a planilha, o erro aparece, ou seja, a macro não
funciona. Quero deixar claro que sou leito em construção de macros e
analfabeto em VB ou LibreBasic. Apenas para ilustração, abaixo segue o
script da macro:
Rem Attribute VBA_ModuleType=VBAFormModule
Option VBASupport 1
'Esta função calcula a hora reduzida noturna
'Função gravada por Vilson do Amaral em 25/08/97
Function HORANOT(Hora1, Hora2)
hm1 = Hora1 * 24
hm2 = Hora2 * 24
If hm1 >= 22 And hm2 <= 5 Then
HORANOT = ((hm2 + 24) - hm1) * 8 / 7
ElseIf hm1 <= 22 And hm2 >= 0 And hm2 <= 5 And hm1 > hm2 Then
HORANOT = (22 - hm1) + (hm2 + 2) * 8 / 7
ElseIf hm1 <= 22 And hm2 >= 22 And hm2 <= 24 Then
HORANOT = (22 - hm1) + (hm2 - 22) * 8 / 7
ElseIf hm1 >= 0 And hm2 <= 5 Or hm1 >= 22 And hm2 > hm1 Then
HORANOT = (hm2 - hm1) * 8 / 7
ElseIf hm1 >= 22 And hm1 <= 24 And hm2 >= 5 Then
HORANOT = (24 - hm1 + 5) * (8 / 7) + hm2 - 5
ElseIf hm1 >= 0 And hm1 <= 5 And hm2 >= 5 Then
HORANOT = (5 - hm1) * 8 / 7 + hm2 - 5
ElseIf hm1 <= 22 And hm2 >= 5 And hm1 > hm2 Then
HORANOT = (22 - hm1) + 8 + (hm2 - 5)
Else
HORANOT = hm2 - hm1
End If
End Function
Se com isso, você puder me dar mais uma ajuda, te agradeço.
Antonio Carlos
Date: Wed, 28 Nov 2012 15:11:09 -0200
From: olivier.hallot@libreoffice.org
To: usuarios@pt-br.libreoffice.org
Subject: Re: Fwd: [pt-br-usuarios] Macro do Excel 2003 em LibreOffice Calc
Olá
Ha uma compatibilidade parcial entre o VB e o LibreOffice Basic, e está
sendo desenvolvido melhorias nisso.
No inicio de cada módulo deve haver estas linhas
Rem Attribute VBA_ModuleType=VBAFormModule
Option VBASupport 1
e se ocorrerem problemas, o trecho com erro deve ser reescrito com os
objetos do LibreOffice e em StarBasic.
Dica: se for abrir uma caixa de dialogo, então com certeza não
funcionará. A forma de chamar a caixa é diferente (Mas a boa noticia é
que as caixas do VBA funcionam 100% no Libre, não precisa mexer nelas).
Olivier
Em 28-11-2012 14:59, Antonio Todo Bom Avião escreveu:
Antonio Carlos,
Não sei se terá alguém te respondendo aqui. Pois até onde eu sei, o
VB em
sí é propriedade da Microsoft. E creio não ter suporte no LibreOffice.
Existem os recursos de macros do LibreOffice, que também obedecem a uma
liguagem BASIC mas é tem outras sintaxes. Acho que só reescrevendo
mesmo.
Por favor alguém me corrija se eu estiver errado, pois meu conhecimento
nisso é muito limitado, só não queria deixar o Antonio Carlos no
vácuo por
muito tempo.
Em 28 de novembro de 2012 09:11, ANTONIO CARLOS BERTOLACCINI DE
ANDRADE <
acbertolaccini@hotmail.com> escreveu:
Prezados senhores,
Tenho uma planilha de trabalho do Excel 2003, em cuja rotina existe uma
macro em VB. Ocorre que, quando tento rodar essa planilha no Calc,
a macro
não funciona e, portanto, não consigo utilizar a planilha. Gostaria de
saber se alguém poderia me ajudar a fazer funcionar essa macro no CALC.
Desde já, agradeço pela colaboração.
Antonio Carlos
--
Olivier Hallot
Comunidade LibreOffice
--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens:
http://listarchives.libreoffice.org/pt-br/usuarios/
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.