Condividi tramite

Excel 365 - Da oggi errore 1004 metodo open dell'oggetto workbooks non riuscito

Anonimo
2021-11-30T10:18:26+00:00

Ciao a tutti,

da oggi non mi funziona più una semplice istruzione come la workbooks.open.

Da un cruscotto di lancio sempre excel, apro un’istanza di excel e aggiungo un componente agiuntivo che arriva dal mondo sap, in questo modo:

Set xl = CreateObject("Excel.Application")

xl.Workbooks.Open (path_Bex & "componente_aggiuntivo.xla")               ‘apro il componente agiguntivo

e fin qui tutto bene.

Nella stessa istanza di excel devo poi aprire il report vero e proprio e scaricare dati tramite il componente aggiuntivo, lo eseguo tramite l’istruzione:

            Set xlBook = xl.Workbooks.Open(percorso_file & nome_file, 0, False)

Da oggi mi da un errore di “1004 metodo open dell'oggetto workbooks non riuscito”
Le variabili percorso e nome file contengono i valori corretti. La macchina è con O365
Cosa può essere successo? O come rimediare? Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2021-11-30T16:21:09+00:00

Ciao IlCrem,

intanto grazie per la risposta.

Ho provato e si inchioda sempre alla Open, stesso errore. La variabile sStr contiene il nome del file.

La cosa bella è che lo stesso tuo codice, su un pc con office 2010, mi apre correttamente il file. :-(

Infatti nel codice della mia procedura, listruzione

Set xlBook = xl.Workbooks.Open(percorso_file & nome_file, 0, False)

avrebbe dovuto essere:

    Set xlBook = xl.Workbooks.Open(**sPath** & nome\_file, 0, False)  

Per quanto riguarda la versione di Excel, io ho provato il codice con Excel 365.

Se, dopo aver provato il codice rivisto, dovessi riscontrare ancora lo stesso problema, ti chiederei di eseguire il seguente codice e poi, utilizzando la nuova istanza di Excel, di provare ad aprire manualmente il file di interesse:

'========>>

Option Explicit

'-------->>

Public Sub Tester2()

Dim xl As Excel.Application 

Dim WB As Workbook 

Set xl = CreateObject("Excel.Application") 

With xl 

    .Visible = True 

    Set WB = .Workbooks.Add 

End With 

WB.Activate 

End Sub

'<<========

===

Regards,

Norman

Immagine

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2021-12-02T11:08:59+00:00

    Ciao IlCrem,

    applicando la variabile Spath funziona.

    Non ho capito come mai e soprattutto come può da un giorno all'altro smettere di funzionare.

    Grazie per l'aiuto

    Se il codice funziona con l'uso della variabile sPath ma fallisce con l'uso della variabile percorso_file, questo suggerirebbe che il tuo problema risiede nell'assenza di una barra rovesciata finale nell'espressione assegnata alla variabile percorso_file.

    In ogni caso lo scopo dell'uso della variabile sPath e della sezione codice

    sSeparatore = Application.PathSeparator

    If Right(percorso_file, 1) = sStr Then

    sPath = percorso\_file
    

    Else

    sPath = percorso\_file & sSeparatore
    

    End If

    è garantire che una barra rovesciata finale venga aggiunta all'espressione del percorso se non è già presente.

    Comunque, tutto è bene quel che finisce bene e sono lieto che il problema sia risolto.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2021-12-02T09:54:26+00:00

    Ciao,

    applicando la variabile Spath funziona.

    Non ho capito come mai e soprattutto come può da un giorno all'altro smettere di funzionare.

    Grazie per l'aiuto

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2021-11-30T15:37:10+00:00

    Ciao,

    intanto grazie per la risposta.

    Ho provato e si inchioda sempre alla Open, stesso errore. La variabile sStr contiene il nome del file.

    La cosa bella è che lo stesso tuo codice, su un pc con office 2010, mi apre correttamente il file. :-(

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2021-11-30T13:22:38+00:00

    Ciao IlCrem,

    da oggi non mi funziona più una semplice istruzione come la workbooks.open.

    Da un cruscotto di lancio sempre excel, apro un’istanza di excel e aggiungo un componente agiuntivo che arriva dal mondo sap, in questo modo:

    Set xl = CreateObject("Excel.Application")

    xl.Workbooks.Open (path_Bex & "componente_aggiuntivo.xla")               ‘apro il componente agiguntivo

    e fin qui tutto bene.

    Nella stessa istanza di excel devo poi aprire il report vero e proprio e scaricare dati tramite il componente aggiuntivo, lo eseguo tramite l’istruzione:

                Set xlBook = xl.Workbooks.Open(percorso_file & nome_file, 0, False)

    Da oggi mi da un errore di “1004 metodo open dell'oggetto workbooks non riuscito”
    Le variabili percorso e nome file contengono i valori corretti. La macchina è con O365
    Cosa può essere successo? O come rimediare? Grazie

    Per escludere due possibili cause di errore, prova a eseguire la seguente procedura di diagnostica:

    '=======>>

    Option Explicit

    '-------->>

    Public Sub Tester()

    Dim xl As Excel.Application 
    
    Dim xlBook As Workbook 
    
    Dim sSeparatore As String 
    
    Dim sPath As String 
    
    Dim sStr As String 
    
    Const percorso\_file As String = **"C:\Users\IlCrem\Documents\"      '&lt;&lt;=== Modifica** 
    
    Const nome\_file As String = **"Pippo.xlsx"                                           '&lt;&lt;=== Modifica** 
    
    Set xl = CreateObject("Excel.Application") 
    
    xl.Visible = True 
    
    sSeparatore = Application.PathSeparator 
    
    If Right(percorso\_file, 1) = sStr Then 
    
        sPath = percorso\_file 
    
    Else 
    
        sPath = percorso\_file & sSeparatore 
    
    End If 
    
    sStr = Dir(sPath & nome\_file) 
    
    If sStr &lt;&gt; vbNullString Then 
    
        Set xlBook = xl.Workbooks.Open(percorso\_file & nome\_file, 0, False) 
    
    Else 
    
        Call MsgBox(Prompt:="il file non è stato trovato!", \_ 
    
            Buttons:=vbCritical, \_ 
    
            Title:="REPORT") 
    
    End If 
    

    End Sub

    '<<========

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento