Ir para conteúdo
Fórum Script Brasil
  • 0

Ao tentar salvar como um documento retorna erro 5981


PAulo Lopes

Pergunta

Ao chegar na linha "  Word.ActiveDocument.SaveAs2 FileName:=nomedoc$ " da erro 5981 e  não salva.

poderiam me ajudar?

 

 

Sub CertCal()

On Error GoTo Erro

' Documents.Add Template:="CCA-01-CC-0.dotm"

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

DocDir$ = "\\Plus-fs\laboratorio\DOCUMENTOS ATUAIS\PSG\PSGP\CCA\"  ' onde gravar os docs

ArqIni$ = "\\Plus-fs\laboratorio\DOCUMENTOS ATUAIS\PSG\PSGP\CCA\CCA.Ini"   '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; 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$("000" & n, 3)

' Texto a incluir. Ex: Carta001/98

' AnoAtual$ = Right$(AnoAtual$, 2)

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

' Escreve número no documento

Word.Selection.Find.ClearFormatting

Word.Selection.Find.Replacement.ClearFormatting

With Word.Selection.Find

.Text = "Autonumeracao"

.Replacement.Text = NovoTexto$

.Forward = True

.Wrap = wdFindContinue

End With

Word.Selection.Find.Execute Replace:=wdReplaceAll

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

nomedoc$ = DocDir$ + "CCA " + Valor$ + "-" + AnoAtual$ + ".docx"

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

  
   Word.ActiveDocument.SaveAs2 FileName:=nomedoc$
   
   System.PrivateProfileString(ArqIni$, "Contador", "CartaNum") = Valor$

End If

GoTo Fim

Erro:

   MsgBox Err.Number
   Resume Next

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
 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...