Hélio,
Fiz um teste com a função que mandaste pelo e-mail, notei que houve uma
quebra de linha onde não deveria, por isso a função não está funcionando. O
que era uma linha comentada, acabou virando duas linhas, uma comentada e
outra, não; resultado: aparecem vários erros ao tentar executar a função.
Possível solução: apaguei os comentários. Segue o código da função sem os
comentários:
Function Horas_To_Dias(tempo_em_horas)
strDias = str(int(tempo_em_horas))
strHoras = Right(Cstr(100+hour(tempo_em_horas)),2)
strMinutos = Right(Cstr(100+minute(tempo_em_horas)),2)
strSegundos = Right(Cstr(100+second(tempo_em_horas)),2)
StrSaida = strDias & "d " & strHoras & ":" & strMinutos & ":" &
strSegundos
Horas_To_Dias = StrSaida
End Function
Acredito que agora funcionará.
Inté +
Francival Lima
GuBro-Pa
Em 19/02/08, Hélio Manoel Corrêa Filho <[EMAIL PROTECTED]> escreveu:
>
> Francival,
>
> Tentei aplicar a macro conforme você me recomendou, mas dava erro de nome
> da célula, algo assim. Acredito eu que copiei errado, eu copiei todo o
> trecho abaixo, veja se está correto.
>
> Function Horas_To_Dias(tempo_em_horas)
> 'Função que calcula tempo acumulado no formato DD HH:MM:SS (dias
> Horas:Minutos:Segundos)
> 'Versão 0.1
> 'O parâmetro da função é um número que representa um horário no formato
> interno do BrOffice.
> 'O retorno da função é uma String que representa o tempo acumulado no
> formato DD HH:MM:SS
> 'Exemplos:
> ' 25:59:59 será mostrado como 1d 01:59:59.
> ' 23:58:00 será mostrado como 0d 23:58:00.
> 'Autor: Francival Lima. Em 17/02/2008.
> strDias = str(int(tempo_em_horas)) 'A parte inteira do número representa
> os
> dias completos do horário.
> strHoras = Right(Cstr(100+hour(tempo_em_horas)),2) 'Somar com 100,
> coverter
> para string e depois retirar apenas os dois últimos dígitos dessa string.
> Garante que a saída seja sempre em dois dígitos mesmo quando a hora for
> Zero. string
> strMinutos = Right(Cstr(100+minute(tempo_em_horas)),2)
> strSegundos = Right(Cstr(100+second(tempo_em_horas)),2)
> StrSaida = strDias & "d " & strHoras & ":" & strMinutos & ":" &
> strSegundos
> 'Formata a string de saída
> Horas_To_Dias = StrSaida
> End Function
>
> Até aqui
>
> Uma pergunta, eu uso o Open Office Portable em en-us, será que isso
> influencia em alguma coisa?
>
>
> ===
> Hélio Manoel Corrêa Filho
> Membro do Gubro-SC
> gTalk: [EMAIL PROTECTED]
> SIM Software Livre, NÃO monopólio M$ e Pirataria
>
>
> ----- Mensagem original ----
> De: Francival Rodrigues de Lima <[EMAIL PROTECTED]>
> Para: [email protected]
> Enviadas: Segunda-feira, 18 de Fevereiro de 2008 0:01:10
> Assunto: Re: Res: [usuarios OOo] Calc: como mostrar tempos acumulados?
>
> Hélio, Pesquisei,
> Só consegui fazer o tempo aparecer do jeito que queres através de uma
> função que criei. Abaixo segue o código dela:
>
> Function Horas_To_Dias(tempo_em_horas)
> 'Função que calcula tempo acumulado no formato DD HH:MM:SS (dias
> Horas:Minutos:Segundos)
> 'Versão 0.1
> 'O parâmetro da função é um número que representa um horário no formato
> interno do BrOffice.
> 'O retorno da função é uma String que representa o tempo acumulado no
> formato DD HH:MM:SS
> 'Exemplos:
> ' 25:59:59 será mostrado como 1d 01:59:59.
> ' 23:58:00 será mostrado como 0d 23:58:00.
> 'Autor: Francival Lima. Em 17/02/2008.
>
> strDias = str(int(tempo_em_horas)) 'A parte inteira do número representa
> os
> dias completos do horário.
> strHoras = Right(Cstr(100+hour(tempo_em_horas)),2) 'Somar com 100,
> coverter
> para string e depois retirar apenas os dois últimos dígitos dessa string..
> Garante que a saída seja sempre em dois dígitos mesmo quando a hora for
> Zero. string
> strMinutos = Right(Cstr(100+minute(tempo_em_horas)),2)
> strSegundos = Right(Cstr(100+second(tempo_em_horas)),2)
> StrSaida = strDias & "d " & strHoras & ":" & strMinutos & ":" &
> strSegundos
> 'Formata a string de saída
>
> Horas_To_Dias = StrSaida
>
> End Function
>
> Para que ela funcione no teu BrOffice. Basta fazer o seguinte:
> Abre o arquivo que queres trabalhar com o tempo nesse formato.
> Aciona Ferramentas>>Macros>>Organizar Macros>>BrOffice.org Basic...
> Funções definidas pelo usuário No campo "Macro de", selecione "(Nome do
> Teu documento do Calc)">> Standard >> Móulo1. Clique em "Novo". Depois em
> "ok". Vai abrir a janela do BrOffice.org Basic.
> Cola o código (texto em azul) da macro daqui do e-mail para a janela do
> BrOffice.org Basic. Clique em "Salvar".
> Volta para o arquivo no Calc, basta chamar essa função como outra
> qualquer do BrOffice.Exemplo: =HORAS_TO_DIAS(A1).
> Detalhe: a função só vai funcionar nesse arquivo.
>
> Inté +
>
> Francival Lima
> GuBro-PA
>
>
> copia o código em azul nesse e-mail para o editor de
>
> Em 16/02/08, Hélio Manoel Corrêa Filho <[EMAIL PROTECTED]>
> escreveu:
> >
> > Já descobri que alterando a formatação padrão de HH:MM para HH:MM:SS ele
> > aceita a acumulação para mais de 24hrs ex.: 25:49:15. Será que dá para
> ser
> > criado um formato personalizado para que ao ultrapassar 24hrs ele conte
> em
> > dias ex: 1dia01:15:25 ? Se algúem tiver alguma idéia, por favor me dê
> uma
> > luz, isso é muito importante para mim.
> >
> > Grato
> >
> > ===
> > Hélio Manoel Corrêa Filho
> > Membro do Gubro-SC
> > gTalk: [EMAIL PROTECTED]
> > SIM Software Livre, NÃO monopólio M$ e Pirataria
> >
> > ----- Mensagem original ----
> > De: Hélio Manoel Corrêa Filho <[EMAIL PROTECTED]>
> > Para: [email protected]; Lista Gubro SC <
> > [EMAIL PROTECTED]>
> > Enviadas: Sábado, 16 de Fevereiro de 2008 12:35:14
> > Assunto: Res: [usuarios OOo] Calc: como mostrar tempos acumulados?
> >
> > Esta
> > pergunta
> > foi
> > bastante
> > conveniente.
> > Ainda
> > ontem
> > um
> > colega
> > e
> > eu
> > estávamos
> > nos
> > deparando
> > com
> > algo
> > semelhante.
> > Só
> > que
> > no
> > nosso
> > caso,
> > precisamos
> > que
> > a
> > soma
> > ao
> > ultrapassar
> > as
> > 24:00hrs
> > ao
> > invés
> > de
> > reiniciar
> > a
> > conta
> > (
> > ex.:
> > 0:45hrs
> > que
> > seria
> > 24:45hrs)
> > ele
> > continuasse
> > a
> > contagem
> > ou
> > até
> > mesmo
> > lançasse
> > numa
> > nova
> > célula
> > a
> > marca
> > de
> > 1
> > dia
> > e
> > em
> > outra
> > as
> > 0:45hrs
> > restantes
> > no
> > exemplo
> > e
> > assim
> > sucessivamente.
> >
> > Alguém
> > sabe
> > como
> > fazer
> > isso?
> >
> > Abraços
> > e
> > uma
> > ótima
> > semana
> > a
> > todos!
> >
> > ===
> > Hélio
> > Manoel
> > Corrêa
> > Filho
> > Membro
> > do
> > Gubro-SC
> > gTalk:
> > [EMAIL PROTECTED]
> > SIM
> > Software
> > Livre,
> > NÃO
> > monopólio
> > M$
> > e
> > Pirataria
> >
> > -----
> > Mensagem
> > original
> > ----
> > De:
> > Renato
> > S.
> > Yamane
> > <[EMAIL PROTECTED]>
> > Para:
> > [email protected]
> > Enviadas:
> > Sexta-feira,
> > 8
> > de
> > Fevereiro
> > de
> > 2008
> > 15:35:12
> > Assunto:
> > Re:
> > [usuarios
> > OOo]
> > Calc:
> > como
> > mostrar
> > tempos
> > acumulados?
> >
> > Não
> > existe
> > 0h96m12s!!
> >
> > Do
> > jeito
> > que
> > você
> > está
> > inserindo,
> > NUNCA
> > haverá
> > horas.
> > Só
> > haverá
> > minutos
> > e
> > segundos.
> >
> > Se
> > mesmo
> > assim
> > você
> > quiser
> > trabalhar
> > com
> > esse
> > formato,
> > selecione
> > a
> > célula,
> > escolha
> > Formatar
> > -->
> > Célula
> >
> > Na
> > guia
> > "Números",
> > opção
> > "Categoria",
> > escolha
> > "Definido
> > pelo
> > usuário".
> >
> > No
> > campo
> > "Código
> > do
> > formato"
> > (lá
> > embaixo),
> > defina
> > como
> > HH:[MM]:SS
> >
> > Se
> > você
> > inserir
> > 00:96:00,
> > ele
> > manterá
> > esse
> > valor.
> > Se
> > você
> > inserir
> > 1:36:00,
> > ele
> > transformará
> > para
> > 00:96:00
> >
> >
> >
> >
> >
> >
> >
> > Abra
> > sua
> > conta
> > no
> > Yahoo!
> > Mail,
> > o
> > único
> > sem
> > limite
> > de
> > espaço
> > para
> > armazenamento!
> > http://br.mail..yahoo.com/
> >
> >
> > ---------------------------------------------------------------------
> > To
> > unsubscribe,
> > e-mail:
> > [EMAIL PROTECTED]
> > For
> > additional
> > commands,
> > e-mail:
> > [EMAIL PROTECTED]
> >
> >
> >
> >
> >
> >
> > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > armazenamento!
> > http://br.mail.yahoo.com/
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> http://br.mail.yahoo.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>