Sintomas
Ao executar uma macro Visual Basic for Applications macro no Microsoft Excel, poderá receber a seguinte mensagem de erro ou semelhante:
Erro de tempo de executar '1004':Método
'SaveAs' de objeto '_Worksheet' falhouCausa
Este comportamento pode ocorrer quando ambas as seguintes condições são verdadeiras:
-
Está a utilizar uma macro Visual Basic for Applications macro para guardar uma nova.
-e- -
Especifique o formato de ficheiro como xlWorkbookNormal constante.
Por exemplo, o seguinte código faz com que este erro ocorra:
Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=xlWorkbookNormal End Sub
Solução
A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita, incluindo, sem limitação, as garantias implícitas de comerciante e/ou adequação a um fim específico. Este artigo assume que está familiarizado com a linguagem de programação a ser demonstrada e com as ferramentas utilizadas para criar e depurar procedimentos. Os profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificam estes exemplos de forma a fornecerem funcionalidades ou procedimentos de construção que se adequam às suas necessidades específicas. https://partner.microsoft.com/global/30000104 Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice Para obter mais informações sobre as opções de suporte disponíveis e sobre como contactar a Microsoft, visite o seguinte site da Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Para contornar este comportamento, altere a especificação do formato de ficheiro do xlWorkbookNormal constante para 1. O código de exemplo funciona normalmente se for alterado para:
Se tiver uma experiência de programação limitada, recomendamos que contacte um Microsoft Certified Partner ou os Serviços de Aviso da Microsoft. Para obter mais informações, visite estes Web sites da Microsoft: Microsoft Certified Partners -Sub A()
Dim myNewSheet As Worksheet Set myNewSheet = ActiveSheet FileNameBin = "c:\ABC" myNewSheet.SaveAs Filename:=FileNameBin, FileFormat:=1 End Sub
NOTA Apesar de estar a guardar uma livro, todas as livros no livro selecionado são guardadas quando o formato de ficheiro está definido como xlWorkbookNormal ou 1.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados no início deste artigo.