Ir ao conteúdo
  • Cadastre-se

MACRO - SALVAR COMO - erro de método


Lamcarter

Posts recomendados

olá pessoal, criei uma macro para fazer backup de uma planilha, porém, aparentemente a macro roda normal mas da o seguinte erro:

Erro em tempo de execução "1004':

O método `SaveAs` do objeto '_Workbook' falhou.

o que pode ser.

veja a macro que fiz:

'Macro para backup

Sub SaveAsXLS()

' Nomeia a Planilha com o nome do setor e a data atual

Dim sTempPath As String

sTempPath = "D:\Documentos\" 'definindo caminho

ActiveWorkbook.SaveAs Filename:=sTempPath & Range("A1") & "" & Range("B1"), FileFormat:=("dd-mm-yyyy")

lblMensagem.Caption = "Backup realizado com sucesso ..... ..... Arquivo Salvo em C:\Meus Documentos..."

Application.Wait Now() + 1 / 30 / 30 / 24 ' (macro que da pause em algum trabalho

frmMenuPrincipal.Show

End Sub

Link para o comentário
Compartilhar em outros sites

Tem sim, esta macro fiz no 2007....

Deixa só assim que funciona

ActiveWorkbook.SaveAs Filename:=sTempPath & Range("A1") & "" & Range("B1")

novamente apareceu outra mensagem:

Erro em tempo de execuçao '1004'

O Microsoft Office Excel nao pode acessar o arquivo

'D:\documentos\Backup10\07'. Há Varias razoes possiveis.

o arquivo nao existe

esta sendo usado

veja ele conseguiu ler o conteudo das celulas, mas quando ele pega a data ele manda no formato "dd/mm/aaaa" o que nao é permitido, deveria ser "dd-mm-aaaa", eu tentei fomatar a celula para ficar assim, mas tambem nao adiantou.

Link para o comentário
Compartilhar em outros sites

Olá Flavio, enfim consegui, nao da forma que queria mas funciona também, acredito, estava no formulario onde estava inserindo a macro, pois na primeira linha de comanado tem Option Explicit e parece que era isso. Consegui criar o backup com a data atual em uma determianda pasta, porém, como tem uma funcao para criar a pasta, quando ela é rodada a segunda vez da erro que a pasta já existe, como poderia colocar um IF, para se nao existe a pasta criar e se existe a pasta só criar o arquivo. Veja como ficou e se puder me auxiliar.

Sub SaveAsXLS()

Dim linha, pasta

Set linha = CreateObject("Scripting.FileSystemObject")

Set pasta = linha.CreateFolder("c:\Backup Sistema Processos")

CreateFolderDemo = pasta.Path

On Error GoTo Erro

'Altere a constante abaixo para que ela aponte

'para o seu arquivo de backup

Const BKP_Processos As String = "C:\Backup Sistema Processos\Processos"

If (Dir(BKP_Processos) <> "") Then

Kill BKP_Processos

End If

ThisWorkbook.SaveCopyAs Filename:=BKP_Processos & Format(Now(), "ddmmyyyy") & ".xls"

MsgBox "Backup realizado com sucesso ..... Arquivo salvo em C:\Backup Sistema Processos\"

Fim:

Exit Sub

Erro:

MsgBox "Erro ao criar backup:" & vbCrLf & _

Err.Description, vbOKOnly + vbCritical, "Atenção"

Err.Clear

Resume Fim

End Sub

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!