Eseguire routine di excel da access

di
Anonimizzato8726
il
2 risposte

Eseguire routine di excel da access

Salve,
Sto cercando di fare dell' integrazione fra Access ed Excel. Nello specifico lanciando Access importo dei dati recuperati da un foglio Excel.
Sia il file Access , sia quello Excel hanno del codice, routine all' interno di oggetti pulsante o in moduli di codice, che ho scritto per eseguire delle attivita' specifiche allo scopo per cui i file sono stati creati.
Da Access riesco pertanto ad aprire il foglio Excel, creando un oggetto adatto allo scopo, e a eseguire le operazioni di import.
Tutto bene quindi? beh quasi... infatti da Access, creato e aperto l' oggetto che corrisponde alla cartella excel in questione, mi piacerebbe eseguire delle routine che ho scritto in Excel allo scopo, per esempio, di formattarne i dati. Tuttavia non ho idea di come eseguire queste funzioni.
Qualcuno sa aiutarmi?

Grazie in anticipo

2 Risposte

  • Re: Eseguire routine di excel da access

    Dipende da come hai strutturato le Sub/Function nel File di Excel...
    Normalmente le Sub/Function che devono essere accessibili dall'esterno dovrebbero essere definite PUBLIC ed inserite in un Modulo Sandard.
    A quel punto, tramite l'Automazione di Excel(e tu non dici se la usi... dici solo che apri Excel ma non come...) potresti usare il METODO [RUN] membro dell'Oggetto Excel.Application, che dovresti aver usato per aprire Excel via Automazione..., per lanciare la Sub/Function di cui parli...
  • Re: Eseguire routine di excel da access

    Alex,
    innanzitutto ti ringrazio per la risposta.
    Mi scuso, forse avrei dovuto allegare qualche stralcio di codice.
    Ad ogni modo sono riuscito a trovare la soluzione benchè le funzioni del file excel non siano dichiarate come publiche ,ma solo presenti in moduli generici.
    SE qualcuno fosse interessato posso inviare lo stralcio di codice in questione ( ora non c'è l' ho sotto mano)
    Tuttavia la tecnica che ho utilizzato è creare in Access un oggetto di tipo "Excel.Application" e uno di tipo "Excel.Workbook", associando quest' ultimo al file excel di interesse.
    Fatto ciò, eseguo le routine del foglio excel utilizzando il seguente comando.
    xlsWorkbookObject.Application.Run modulo1.nomeroutine dove xlsWorkbookObject è il nome del oggetto excel.workbook creato in access.

    Saluti a tutti
Devi accedere o registrarti per scrivere nel forum
2 risposte