none
O Método 'Open' do objeto 'Workbooks' falhou RRS feed

  • Pergunta

  • Eu executo uma macro que abre várias planilhas com o Workbooks.Open, porém algumas planilhas acusam esse erro, porém o endereço está correto, eu vejo a planilha sendo carregada(baixando) mas quando termina acusa esse erro. O que poderia ser?
    quarta-feira, 20 de março de 2019 23:38

Todas as Respostas

  • Coloque todas as planilhas no mesmo diretório e tente abrir para ver se resolve

    “First do it, then do it right, then do it better.” - Addy Osmani

    quinta-feira, 21 de março de 2019 12:39
  • Não funcionou :(. Apresentou o mesmo erro, são apenas algumas planilhas e não sei qual o motivo, alguma propriedade de segurança da mesma. 
    quinta-feira, 21 de março de 2019 15:28
  • Qual o erro que aparece? Consegue o print?

    Experimente abrir as planilhas que estão com problemas, salve as com outro nome e faça o teste novamente. Pode ser algum dado corrompido.


    “First do it, then do it right, then do it better.” - Addy Osmani


    quinta-feira, 21 de março de 2019 15:39
  • Sub TesteErro()
    Dim Planilha As Workbook
    Dim Nome_Planilha As String
    Dim endereco As String
    
    Application.AutomationSecurity = msoAutomationSecurityForceDisable
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.Calculation = xlCalculationManual
    
    
    endereco = "C:\Users\frolim\Desktop\Consultas\planilha_erro.xlsm"
    'On Error Resume Next
    'Set Planilha = Workbooks.Open(endereco)
    Set Planilha = Workbooks.Open(endereco, False, True, , , , True)
    
    Application.AutomationSecurity = msoAutomationSecurityLow
    Application.DisplayAlerts = True
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    End Sub

    quinta-feira, 21 de março de 2019 17:47
  • Não consegui anexar a imagem. Mas aparece aquele erro clássico:

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

    O método 'Open' do objeto 'Workbooks' falhou

    Estava contornando o erro com o comando "On Error Resume Next" mas muitas dessas planilhas eu preciso abrir e queria saber o por que não é possível através desse comando.

    quinta-feira, 21 de março de 2019 17:50
  • Eu já tentei salvar com outro nome, adicionei na mesma pasta. Porém o erro persiste :(
    quinta-feira, 21 de março de 2019 17:53
  • Quando eu desvinculo a consulta/conexão existente na planilha que será aberta, o código em vba consegue abrir a planilha. Mas eu não posso alterar o arquivo excel, tem algum modo de abrir?
    quinta-feira, 21 de março de 2019 18:39
  • Esse ultimo "True" é referente ao parâmetro CorruptLoad?

    Set Planilha = Workbooks.Open(endereco, False, True, , , , True)

    Experimente:

    Set Planilha = Workbooks.Open Filename:= endereco, ReadOnly:=True, CorruptLoad:=xlRepairFile

    Links para ajudar

    https://stackoverflow.com/questions/34953558/error-1004-open-a-workbook?rq=1
    https://www.mrexcel.com/forum/excel-questions/694292-avoiding-error-1004-method-open-object-workbooks-failed.html
    https://www.autoitscript.com/forum/topic/166926-opening-excel-workbook-using-corruptload-xlextractdata/


    “First do it, then do it right, then do it better.” - Addy Osmani

    quinta-feira, 21 de março de 2019 19:59
  • Não, é referente ao parâmetro "IgnoreReadOnlyRecommended". Não funciona, mas se eu mudar o parametro CorruptLoad para xlExtractData funciona, pois elimina a conexão da planilha que é o que está causando problema (não sei o porque). Porém, eu preciso abrir com as consultas pois o objetivo principal da minha macro é ler as consultas/conexões das planilhas, então se eu abrir em modo ExtractData, não consigo ler.
    quinta-feira, 21 de março de 2019 20:42
  • Ao que tudo indica, essas planilhas podem estar com dados corrompidos. Quando você abre pelo direto pelo Excel, ele dá algum alerta?

    “First do it, then do it right, then do it better.” - Addy Osmani

    quinta-feira, 21 de março de 2019 20:53
  • Não, nenhum alerta. Mas o que eu acho estranho é que quando excluo/desvinculo a consulta da planilha. Tudo funciona!! É algum problema realizado na consulta quando ela foi criada. Alterei a consulta para consultas iguais a de outras planilhas que funcionam e continua sem funcionar. Não sei se é possivel mas é como se a consulta estivesse corrompida. Pelo python eu consigo abrir e ler, mas pelo vba não.
    quinta-feira, 21 de março de 2019 21:25
  • Estranho mesmo! Essas planilhas são de qual versão do Excel? Por acaso as que abrem normalmente são de versões diferentes?

    “First do it, then do it right, then do it better.” - Addy Osmani

    quinta-feira, 21 de março de 2019 22:05
  • Acredito que todas estejam na mesma versão, como faço para olhar?
    quinta-feira, 21 de março de 2019 22:05
  • Veja as extensões dos arquivos, se são .xls ou .xlsm, .xls, etc.
    Compare as extensões dos arquivos que abrem com as dos que não abrem.

    “First do it, then do it right, then do it better.” - Addy Osmani


    quinta-feira, 21 de março de 2019 22:10
  • Os que apresentam problema são .xlsm mas existem alguns .xlsm que abrem normalmente
    sexta-feira, 22 de março de 2019 14:55
  • Entendi. Só para fins de teste, pegue uma dessas planilhas que não abre e copie tudo dela para uma nova. Faça à mão mesmo, com a que tiver menos dados e tente abrir ela attaves do codigo, so para termos certeza que nao tem algo corrompido atrapalhando a abertura. É possível?

    “First do it, then do it right, then do it better.” - Addy Osmani

    sexta-feira, 22 de março de 2019 16:36
  • A nova consegue abrir. Fiz o processo reverso também. Acredito que algo na consulta está corrompido
    sexta-feira, 29 de março de 2019 17:58
  • Bem, ao que tudo indica realmente há algo corrompido na consulta. Não sei se há algum método para corrigir isso, mas como são algumas que estão apresentando o problema, talvez essa seja uma solução rápida.

    “First do it, then do it right, then do it better.” - Addy Osmani

    sábado, 30 de março de 2019 01:43