Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

Macro excel da access problema riferimento libreria

  1. #1
    rinogattuso non è in linea Scolaretto
    Post
    60
    Like Inviati  
    0
    Like Ricevuti  
    0
    Attualmente utilizzo questo codice per lanciare una macro excel da access
    Dim xlApp As Excel.Application
    Dim xlWkb As Excel.Workbook
    .......
    Set xlApp = CreateObject("Excel.Application")
    Set xlWkb = xlApp.Workbooks.Open(nomefileexcel)
    xlApp.Run "nomemacro", parametro
    ........

    chiaramente questo sottende l'aver creato un riferimento nelle librerie ad excel.
    Il che per me è un problema perchè ho pc anche con vecchie versioni di office per cui vanno in errore se non cambio manualmente il riferimento mettendo la libreria excel corretta.

    Mi chiedevo se era possibile o fare questa cosa senza utilizzare la libreria excel (non creando l'oggetto excel.application), oppure se si riesce a cambiare il riferimento alla libreria automaticamente in vba a runtime

    Grazie

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,481
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    No, a runtime non fai nulla.

    Puoi non usare il riferimento. Del resto usi la CreateObject quindi va bene così.
    Naturalmente la variabile sarà As Object
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Post
    16,802
    Like Inviati  
    0
    Like Ricevuti  
    23
    Come ti ha indicato Antonio stai già usando un codice che nella realtà andrebbe usato proprio con il Latebinding o associazione tardiva, che ti libera dal riferimento delle librerie.
    Ti basta appunto cambiare la dichiarazione delle variabili oggetto di Automazione come ti hanno indicato, peraltro è normale sviluppare come hai fatto per avere l'intellisense e l'help ma è poi altrettanto normale in fase di distribuzione andare a dichiarare l'object generico proprio per il problema in oggetto.
    ℹ️ Leggi di più su @Alex ...

  4. #4
    rinogattuso non è in linea Scolaretto
    Post
    60
    Like Inviati  
    0
    Like Ricevuti  
    0
    Perfetto grazie tante per entrambi i preziosi consigli: sviluppo con la dichiarazione precisa e poi distribuisco con object generico.
    In pochi minuti avete risolto un problema che mi affligge da anni !

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,481
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Ok ma fai attenzione. Se durante lo sviluppo utilizzi una costante che esiste perché hai il riferimento in libreria, ad esempio

    xlsCostantePincoPallino

    e questa vale 2, quando elimini il riferimento la xlsCostantePincoPallino la devi dichiarare tu all'inizio e assegnare il valore 2 altrimenti, evidentmente, avrai errori.
    ℹ️ Leggi di più su AntonioG ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. [Excel] Problema interruzione excel con macro
    Da ghost69 nel forum Microsoft Excel
    Risposte: 3
    Ultimo Post: 12-12-2014, 09:32
  2. problema macro riferimento cella
    Da fhabbio nel forum Microsoft Excel
    Risposte: 3
    Ultimo Post: 01-10-2014, 10:29
  3. Risposte: 4
    Ultimo Post: 23-08-2012, 10:07
  4. Risposte: 2
    Ultimo Post: 19-03-2012, 16:19
  5. Excel + Access 2010: quale libreria?
    Da DavideV nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 25-03-2011, 23:08