Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Crestani

Word word carta numerada auto

Recommended Posts

um amigo, do clube enviou para outro colega, eu preciso, tentei fazer, mas nao consigo, nao sei o que estou fazendo de errado. preciso que o word numere as cartas sempre automaticamente. mas ele diz que nao consegue abrir o arquivo; veja abaixo como ficou o código, nao sei onde estou errando.

--------------------------------------------------

Sub Cartanumerada()

On Error GoTo Erro

Documents.Add Template:="cartas.dot"

'  *** Diretórios e arquivos - Faça aqui as alterações necessárias ***

DocDir$ = "?E:\ANGIERRYS\Doc's\Pag. ANGIERRYS.dot.docm"  ' onde gravar os docs

ArqIni$ = "?E:\ANGIERRYS\Doc's\Pag. ANGIERRYS.dot.docm"   'onde armazenará o arquivo ini

' Lê o ano no relógio do PC

AnoAtual$ = Year(Now())

' Testa existência do Arquivo INI

If ArquivoExiste(ArqIni$) <> -1 Then   ' Não existe, cria INI

   Call ZeraContagem(AnoAtual$, ArqIni$)

Else ' Existe, testa ano; atualiza INI

   AnoIni$ = System.PrivateProfileString$(ArqIni$, "Contador", "Ano")

   DIf = Val(AnoAtual$) - Val(AnoIni$)

   If DIf > 0 Then        ' Ano novo

       Call ZeraContagem(AnoAtual$, ArqIni$)

   ElseIf DIf < 0 Then    ' Ano andou para trás; pára macro

       MsgBox "Erro no relógio do micro ou arquivo INI adulterado."

       GoTo Fim

   End If

End If

' Lê o número atual no arquivo INI

nuMicrosoft = System.PrivateProfileString$(ArqIni$, "Contador", "CartaNum")

n = Val(nuMicrosoft) + 1    ' soma 1

Valor$ = Right$("00103" & n, 3)

' Texto a incluir. Ex: Carta001/98

AnoAtual$ = Right$(AnoAtual$, 2)

NovoTexto$ = "Carta" + Valor$ + "/" + AnoAtual$

' Escreve número no documento

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text = "Autonumeração"

.Replacement.Text = NovoTexto$

.Forward = True

.Wrap = wdFindContinue

End With

Selection.Find.Execute Replace:=wdReplaceAll

' Caminho e Nome do arquivo DOC com o número. Ex: Fax001-98.doc

nomedoc$ = "E:\ANGIERRYS\Doc's\Pag. ANGIERRYS.dot.docm" + Valor$ + "000103.doc" + AnoAtual$ + ".doc"

If ArquivoExiste(nomedoc$) = -1 Then

   MsgBox "O arquivo " + nomedoc$ + " já existe. Operação cancelada."

Else

   ' Salva o arquivo e escreve o número no arquivo INI

   ActiveDocument.SaveAs FileName:=nomedoc$

   System.PrivateProfileString(ArqIni$, "Contador", "CartaNum") = Valor$

End If

GoTo Fim

Erro:

   MsgBox "Não foi possível abrir o Arquivo."

Fim:

End Sub

Function ArquivoExiste(Arq$)

' Testa se o arquivo Arq$ existe

On Error GoTo ArqExiste_Err

Open Arq$ For Input As #1

Close #1

ArquivoExiste = -1    'Existe

GoTo FimArq

ArqExiste_Err:

   ArquivoExiste = 0     'Não Existe

FimArq:

End Function

Sub ZeraContagem(AnoNovo$, Ini$)

' Grava o ano atual, zera a contagem

System.PrivateProfileString(Ini$, "Contador", "Ano") = AnoNovo$

System.PrivateProfileString(Ini$, "Contador", "CartaNum") = "0"

End Sub

----------------------------------------------------

 

Editado por DiF
Inserir o código com o botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×