Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496

    [VB6] - Errore Runtime 1004 in ExcelApp.ActiveWorkbook.SaveAs

    Ciao,
    ho un problemino mica male!

    In pratica io effettuo l'accesso ad un file excel che si chiama report.xls nella app.path dell'applicazione. Ora sono interessato, dopo i dovuti cambiamenti al file con sostituzioni ecc ecc (che, comunque, funzionano) a salvare il file.

    Sto usando il metodo ExcelApp.ActiveWorkbook.SaveAs, dove ExcelApp è l'istanza della classe di Excel.Application.

    Ma la riga di
    codice:
    ExcelApp.ActiveWorkbook.SaveAs FileName:=App.Path & _
    "\Reports\" & Day(Now) & "-" & Month(Now) & "-" & Year(Now) & _
    ", " & Time & ".xls", FileFormat:=xlNormal, Password:="", _
    WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
    mi restituisce l'errore 1004. Vi copio la descrizione di ?error dell'Immediata:
    codice:
    ?error
    Impossibile accedere al file. Provare una delle seguenti operazioni:
    
    • Assicurarsi che la cartella specificata esista.
    • Assicurarsi che la cartella contenente il file non sia di sola lettura.
    • Assicurarsi che il nome di file non contenga i seguenti caratteri: <  >  ?  [  ]  :  | oppure  *
    • Assicurarsi che il nome di file o il percorso non contenga più di 218 caratteri.
    Ora...
    * La cartella specificata esiste
    * La cartella di file non è di sola lettura
    * Il nome di file non contiene i caratteri non accetti
    * Len(App.Path & "\Reports\" & Day(Now) & "-" & Month(Now) & "-" & Year(Now) & ", " & Time & ".xls") = 118 circa

    Ho provato anche ad impostare nel mio foglio-base che apro il livello di protezione a basso (per quanto riguarda le macro) e ho selezionato la casella che DOVREBBE permettere al Visual Basic di accedere al file.

    Ma l'errore restituitomi è sempre lo stesso!

    Qualcuno di voi sa come potermi aiutare? Grazie in anticipo!
    Francesco

    PS per i mod-amministratori: quando si modifica iuna discussione, sparisce il tag dell'argomento. Non è possibile rimetterlo!

  2. #2
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Nessuno può aiutarmi?

  3. #3
    Ciao ! Provo a fare delle ipotesi...

    Sei sicuro che l'espressione Time, in funzione delle tue impostazioni internazionali, non ti restituisca una stringa con dei "due punti" come separatore ?

    Se non e' quello il problema, ti suggerirei di utilizzare una variabile stringa dove mettere il nome del file (visto che il problema e' li'), ed inserire un Debug.Print di questa var. prima di eseguire il SaveAs, in modo da vedere chiaramente il nome risultante (eventualmente postalo qui per verificarlo insieme...)

    Per "prudenza" eviterei anche quel "virgola spazio" dentro il nome del file....

    Mi viene qualche dubbio anche su App.Path, sei sicuro che non ci voglia Application.Path ? (da VB si usa l'oggetto App, ma da VBA/Excel si usa Application... ..e tu stai usando il metodo SaveAs dell'applicazione Excel.......)


    Ciao ! ...facci sapere !
    IceCube_HT (VB6 fan Club)

  4. #4
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Originariamente inviato da icecube_HT
    Ciao ! Provo a fare delle ipotesi...

    Sei sicuro che l'espressione Time, in funzione delle tue impostazioni internazionali, non ti restituisca una stringa con dei "due punti" come separatore ?

    Se non e' quello il problema, ti suggerirei di utilizzare una variabile stringa dove mettere il nome del file (visto che il problema e' li'), ed inserire un Debug.Print di questa var. prima di eseguire il SaveAs, in modo da vedere chiaramente il nome risultante (eventualmente postalo qui per verificarlo insieme...)

    Per "prudenza" eviterei anche quel "virgola spazio" dentro il nome del file....

    Mi viene qualche dubbio anche su App.Path, sei sicuro che non ci voglia Application.Path ? (da VB si usa l'oggetto App, ma da VBA/Excel si usa Application... ..e tu stai usando il metodo SaveAs dell'applicazione Excel.......)


    Ciao ! ...facci sapere !
    Grazie icecube_HT !!

    Dunque..ho usato come da suggerimento una variabile stringa e l'ho mandata in debug.
    Il risultato è questo:
    C:\Documents and Settings\Portatile\Documenti\Utente\Lavori\[VB6] - Gestione\Reports\29-9-2006 14.12.27.xls

    Per quanto riguarda l'Application.Path, questa si riferisce alla cartella dove risiede il programma Excel, non il file di destinazione (l'ho scoperto provando...).

    Da dove può derivare l'errore?

    Grazie ancora

  5. #5
    Dal fatto che usi le Parentesi quadre [ ]

    c'e' anche scritto nel messaggio di errore
    cosa vuoi di piu'??????

    rinomina la cartella

    ciaooooooooooooooo
    Ci sono solo 10 tipi di persone al mondo, chi conosce il binario e chi no.

    Disapprovo quello che dici, ma difenderò fino alla morte il tuo diritto a dirlo.

    Tanta bella giovinezza che si fugge tuttavia, chi vuol essere lieto sia, del doman non v'e' certezza.

  6. #6
    Originariamente inviato da maxmalici
    Dal fatto che usi le Parentesi quadre [ ]
    Appunto ! OK !
    IceCube_HT (VB6 fan Club)

  7. #7
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Assicurarsi che il nome di file non contenga i seguenti caratteri: < > ? [ ] : | oppure *

    Il nome di file, non del percorso.. altrimenti, a rigor di logica, Excel non potrebbe salvare su percorsi con quei caratteri... o sbaglio?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da EngLab
    Assicurarsi che il nome di file non contenga i seguenti caratteri: < > ? [ ] : | oppure *

    Il nome di file, non del percorso..
    No ... e' inteso di tutto il percorso ...

    altrimenti, a rigor di logica, Excel non potrebbe salvare su percorsi con quei caratteri...
    Logica ineccepibile ... infatti non puo'.

  9. #9
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Originariamente inviato da oregon
    Logica ineccepibile ... infatti non puo'.
    E come mai sono riuscito a salvare il file di origine in quella cartella? A questo mi riferivo quando ho scritto che la motivazione era strana..

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Puoi "creare" un nuovo file Excel in quel percorso o copiarlo tramite Windows.
    Puoi "salvare" le modifiche fatte a questo file.
    Mon puoi fare "Salva con nome" in quella cartella per creare un nuovo file.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.