We will be migrating from Ask to Discourse on the first week of August, read the details here

Pergunte aqui
1

Numeração automática de Ofício no writer

perguntadas 2020-04-17 14:37:11 +0200

imagem do gravatar de Sandra de Alencar

updated 2020-05-07 15:31:24 +0200

imagem do gravatar de Schiavinatto

Em meu trabalho redijo vários ofícios seguido do número de ordem e o ano: 001/2020. Eu gostaria se possível de que a numeração ficasse automática a cada novo documento criado numa pasta específica. Exemplo: fiz o ofício n. 001/2020; a numeração do seguinte documento será 002/2020 e assim por diante até findar o ano. No ano seguinte começa tudo de novo. O ideal é que esse arquivo seja salvo com esse nome da numeração. É possível?

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

4 Respostas

1

respondidas 2020-04-28 22:01:23 +0200

imagem do gravatar de José Eduardo

Boa tarde De uma olhada nesta solução. https://wiki.documentfoundation.org/E... Não sei se esta sendo atualizado, mas tem o contato dos desenvolvedores.

editar assinalar como ofensivo Excluir Link mais

Comentários

Muito obrigada pela resposta, estudarei o assunto.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2020-04-29 00:34:08 +0200 )editar
1

respondidas 2020-04-29 22:20:43 +0200

imagem do gravatar de Conrado

updated 2020-04-30 01:36:03 +0200

imagem do gravatar de Schiavinatto

@Sandra de Alencar e @Schiavinatto, segue o código ajustado enviado pelo @Schiavinatto

Macro para Uso no Writer

    Sub SalvarProximoArquivo
'  Pasta = DIRETORIO DE GRAVAÇÂO
Pasta = "C:\Users\GILBERTO\Dropbox\Public\ask.libreoffice\Valentim\"
Ano = 2020
Dim S As String, I As Long
If Right(Pasta, 1) <> "\" Then Pasta = Pasta & "\"
Texto = Texto & "*.odt" 
'a extensão pode também ser colocada como parametro:
'Texto = Texto & "*." & Extensao
S = Dir(Pasta & Texto) 'S contém o nome do 1º ficheiro encontrado
Do Until S = ""
    I = I + 1
    S = Dir() 'S contém o nome do proximo ficheiro da sequência
Loop
    ContarFicheiros = I
    Arq = I

    If Arq < 10 Then : Arq = "00" & Arq ': End If
    ElseIf Arq < 100 Then : Arq = "0" & Arq ': End If 
    ElseIf Arq < 1000 Then : Arq = Arq : End If         


        Dim document as object
        Dim dispatcher as object
        document = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

        pasta = ConvertToURL(Pasta)

dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
PastaArquivo = Pasta & Arq &"_" & Ano & ".odt"
args1(0).Value = PastaArquivo
args1(1).Name = "FilterName"
args1(1).Value = "writer8"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())

end Sub

@Schiavinatto, neste comando Pasta = "C:\Users\GILBERTO\Dropbox\Public\ask.libreoffice\Valentim\",você precisa converter o mesmo em URL, utilizando o ConvertToURL, pois os espaços em branco, a programação não entende e transforma em %. Então eu acrescentei Pasta = ConvertToURL(Pasta)

Eu @Schiavinatto... Alterei (na 7a. linha) a extensão para contar somente odt, não contar arquivo(s) abertos se existir.

editar assinalar como ofensivo Excluir Link mais

Comentários

1

Perfeito @Conrado, obrigado.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-30 01:27:12 +0200 )editar

Ola @Sandra de Alencar, caso queira dar um upgrade na macro acima com a solução do @Conrado, acrescente no final antes de End Sub.

-

Veja a Mensagem, o que faz.

-

MsgBox "O Arquivo salvo será fechado." & Chr(13) & _
 " E será aberto outro em branco.", 0, "               A T E N Ç Ã O"

CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:CloseWin", "", 0, args1())

oNuevoDocumento = StarDesktop.loadComponentFromURL( "private:factory/swriter", "_default", 0, Array() )
imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-30 01:31:46 +0200 )editar

Eu não entendo nada de programação, só sei que existe he he he... Mas vou estudar um pouco e me inteirar do assunto. Muito obrigada por disponibilizar tais dados.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2020-04-30 03:21:39 +0200 )editar
0

respondidas 2020-06-23 21:11:39 +0200

imagem do gravatar de Rodrigo Zimmermann
editar assinalar como ofensivo Excluir Link mais

Comentários

Obrigada pessoal.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2021-03-24 16:20:48 +0200 )editar
0

respondidas 2020-04-29 04:49:08 +0200

imagem do gravatar de Schiavinatto

updated 2020-04-29 04:52:01 +0200

Ola @Sandra de Alencar, Macro incompleta, quando alguém corrigir, grava-la em Minhas macros e liga-la a um Menu...

A Macro conta os Arquivos da Pasta, acrescenta 1 + a terminação _2020.odt e salva.

Sub SalvarProximoArquivo
'  Pasta = DIRETORIO DE GRAVAÇÂO
Pasta = "C:\Users\GILBERTO\Dropbox\Public\ask.libreoffice\Valentim\"
Ano = 2020
Dim S As String, I As Long
If Right(Pasta, 1) <> "\" Then Pasta = Pasta & "\"
Texto = Texto & "*.*" 
'a extensão pode também ser colocada como parametro:
'Texto = Texto & "*." & Extensao
S = Dir(Pasta & Texto) 'S contém o nome do 1º ficheiro encontrado
Do Until S = ""
    I = I + 1
    S = Dir() 'S contém o nome do proximo ficheiro da sequência
Loop
    ContarFicheiros = I
    Arq = I+1

    If Arq < 10 Then : Arq = "00" & Arq ': End If
    ElseIf Arq < 100 Then : Arq = "0" & Arq ': End If 
    ElseIf Arq < 1000 Then : Arq = Arq : End If         

dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
PastaArquivo = Pasta & Arq &"_2020.odt"
args1(0).Value = PastaArquivo
args1(1).Name = "FilterName"
args1(1).Value = "writer8"
CreateUnoService("com.sun.star.frame.DispatchHelper") _
.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:SaveAs", "", 0, args1())
end Sub

Até PastaArquivo esta gerando certo a gravação final que da erro. Esta gerando este erro:

Descrição da imagem

Necessita alguém com mais experiência em programação, corrigir ( Alô: @Grafeno, @Olivier, @Conrado ), faça correção em Adicionar Resposta, para pontuar.

editar assinalar como ofensivo Excluir Link mais

Comentários

1

Vou acompanhar esse assunto. Obrigada.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2020-04-29 14:03:13 +0200 )editar
1

@Schiavinatto não cheguei a programar em Writer ainda. Não sei como funciona. Vou tentar algo aqui e retorno. Já possuo algo desta necessidade, mas em Calc.

imagem do gravatar de ConradoConrado ( 2020-04-29 21:42:08 +0200 )editar

Fiquei interessada nessa sua solução em Calc. Como devo proceder para obter sua ajuda? Eu prefiro trabalhar com planilhas, inclusive eu faço esses documentos também no Calc, porque consigo mudar vários campos de forma automática como data, data por extenso, número do documento. Obrigada.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2020-04-29 22:35:41 +0200 )editar

@Sandra de Alencar, caso queira enviar suas necessidades para o @Schiavinatto ou para mim, em nossos perfis possui nossos e-mails de contato.

imagem do gravatar de ConradoConrado ( 2020-04-29 22:41:14 +0200 )editar

Ola @Conrado, acerte seu perfil, não esta aparecendo o email de contato, preencha no campo email. Se colocou informação no Quadro a direta, não é visível, (deve ser bug ) já informei o administrador. Abraço.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-30 01:52:21 +0200 )editar

Ola @Sandra de Alencar, a solução em Calc e mais versátil, se os Ofícios for um texto padrão com poucas alterações poderá ser um arquivo com 3 planilhas: Formulário e preenchido e salvo em Banco de dados e uma terceira para Consulta.

Não haveria necessidade de Diretório para arquivo dos Ofícios.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-30 01:59:10 +0200 )editar

Na verdade os ofícios que utilizo são 16, de acordo com aquelas 16 planilhas (as quais postei dúvidas aqui). Nestes 16 ofícios podem ocorrer variações com as seguintes hipóteses: 1) inclusão de alunos; 2) exclusão de aluno; 3) aumento de cotas; 4) diminuição de cotas 5) nenhuma alteração. Então, nesses ofícios eu copio os dados dos bolsistas das planilhas de forma manual e os colo no ofício.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2020-04-30 03:19:58 +0200 )editar

Ola @Sandra de Alencar, me envie o arquivo completo, veja contato aqui: https://wiki.documentfoundation.org/U..., pode confiar sigilo de dados garantido.

imagem do gravatar de SchiavinattoSchiavinatto ( 2020-04-30 13:09:13 +0200 )editar

Enviei e-mail para gilbertoschiavinatto@yahoo.com.br. Obrigada.

imagem do gravatar de Sandra de AlencarSandra de Alencar ( 2020-05-05 14:44:20 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2020-04-17 14:37:11 +0200

Lidas: 315 vezes

Última atualização: Jun 23 '20